@den4ik92/ng2-smart-table 18.2.13 → 19.0.3

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.
Files changed (104) hide show
  1. package/fesm2022/den4ik92-ng2-smart-table.mjs +1403 -1583
  2. package/fesm2022/den4ik92-ng2-smart-table.mjs.map +1 -1
  3. package/lib/components/cell/cell-edit-mode/custom-edit.component.d.ts +3 -5
  4. package/lib/components/cell/cell-edit-mode/default-edit.component.d.ts +3 -3
  5. package/lib/components/cell/cell-edit-mode/edit-cell-default.d.ts +2 -3
  6. package/lib/components/cell/cell-edit-mode/edit-cell.component.d.ts +4 -5
  7. package/lib/components/cell/cell-editors/checkbox-editor.component.d.ts +2 -2
  8. package/lib/components/cell/cell-editors/default-editor.d.ts +8 -8
  9. package/lib/components/cell/cell-editors/input-editor.component.d.ts +2 -2
  10. package/lib/components/cell/cell-editors/select-editor.component.d.ts +2 -2
  11. package/lib/components/cell/cell-editors/textarea-editor.component.d.ts +2 -2
  12. package/lib/components/cell/cell-view-mode/custom-view.component.d.ts +1 -1
  13. package/lib/components/cell/cell-view-mode/view-cell.component.d.ts +2 -2
  14. package/lib/components/cell/cell.component.d.ts +8 -8
  15. package/lib/components/filter/custom-filter.component.d.ts +3 -5
  16. package/lib/components/filter/default-filter.component.d.ts +1 -1
  17. package/lib/components/filter/filter-default.d.ts +2 -3
  18. package/lib/components/filter/filter-types/checkbox-filter.component.d.ts +4 -4
  19. package/lib/components/filter/filter-types/default-filter.d.ts +4 -4
  20. package/lib/components/filter/filter-types/input-filter.component.d.ts +4 -4
  21. package/lib/components/filter/filter-types/select-filter.component.d.ts +1 -1
  22. package/lib/components/filter/filter.component.d.ts +2 -2
  23. package/lib/components/pager/pager.component.d.ts +5 -5
  24. package/lib/components/tbody/cells/create-cancel.component.d.ts +4 -4
  25. package/lib/components/tbody/cells/custom.component.d.ts +2 -3
  26. package/lib/components/tbody/cells/edit-delete.component.d.ts +7 -7
  27. package/lib/components/tbody/tbody.component.d.ts +19 -19
  28. package/lib/components/thead/cells/actions-title.component.d.ts +3 -4
  29. package/lib/components/thead/cells/actions.component.d.ts +4 -4
  30. package/lib/components/thead/cells/add-button.component.d.ts +5 -6
  31. package/lib/components/thead/cells/checkbox-select-all.component.d.ts +3 -3
  32. package/lib/components/thead/cells/column-title.component.d.ts +4 -5
  33. package/lib/components/thead/cells/title/title.component.d.ts +8 -8
  34. package/lib/components/thead/rows/thead-filters-row.component.d.ts +4 -4
  35. package/lib/components/thead/rows/thead-form-row.component.d.ts +4 -4
  36. package/lib/components/thead/rows/thead-titles-row.component.d.ts +6 -6
  37. package/lib/components/thead/thead.component.d.ts +7 -7
  38. package/lib/lib/grid.d.ts +6 -7
  39. package/lib/ng2-smart-table.component.d.ts +17 -17
  40. package/package.json +5 -7
  41. package/public-api.d.ts +0 -1
  42. package/esm2022/den4ik92-ng2-smart-table.mjs +0 -5
  43. package/esm2022/lib/components/cell/cell-edit-mode/custom-edit.component.mjs +0 -44
  44. package/esm2022/lib/components/cell/cell-edit-mode/default-edit.component.mjs +0 -26
  45. package/esm2022/lib/components/cell/cell-edit-mode/edit-cell-default.mjs +0 -35
  46. package/esm2022/lib/components/cell/cell-edit-mode/edit-cell.component.mjs +0 -76
  47. package/esm2022/lib/components/cell/cell-editors/checkbox-editor.component.mjs +0 -40
  48. package/esm2022/lib/components/cell/cell-editors/default-editor.mjs +0 -30
  49. package/esm2022/lib/components/cell/cell-editors/input-editor.component.mjs +0 -37
  50. package/esm2022/lib/components/cell/cell-editors/select-editor.component.mjs +0 -52
  51. package/esm2022/lib/components/cell/cell-editors/textarea-editor.component.mjs +0 -39
  52. package/esm2022/lib/components/cell/cell-view-mode/custom-view.component.mjs +0 -15
  53. package/esm2022/lib/components/cell/cell-view-mode/view-cell.component.mjs +0 -47
  54. package/esm2022/lib/components/cell/cell-view-mode/view-cell.mjs +0 -2
  55. package/esm2022/lib/components/cell/cell.component.mjs +0 -73
  56. package/esm2022/lib/components/cell/cell.module.mjs +0 -75
  57. package/esm2022/lib/components/filter/custom-filter.component.mjs +0 -43
  58. package/esm2022/lib/components/filter/default-filter.component.mjs +0 -73
  59. package/esm2022/lib/components/filter/filter-default.mjs +0 -37
  60. package/esm2022/lib/components/filter/filter-types/checkbox-filter.component.mjs +0 -54
  61. package/esm2022/lib/components/filter/filter-types/default-filter.mjs +0 -36
  62. package/esm2022/lib/components/filter/filter-types/input-filter.component.mjs +0 -53
  63. package/esm2022/lib/components/filter/filter-types/select-filter.component.mjs +0 -58
  64. package/esm2022/lib/components/filter/filter.component.mjs +0 -86
  65. package/esm2022/lib/components/filter/filter.module.mjs +0 -62
  66. package/esm2022/lib/components/pager/pager.component.mjs +0 -241
  67. package/esm2022/lib/components/pager/pager.module.mjs +0 -28
  68. package/esm2022/lib/components/tbody/cells/create-cancel.component.mjs +0 -195
  69. package/esm2022/lib/components/tbody/cells/custom.component.mjs +0 -59
  70. package/esm2022/lib/components/tbody/cells/edit-delete.component.mjs +0 -241
  71. package/esm2022/lib/components/tbody/tbody.component.mjs +0 -95
  72. package/esm2022/lib/components/tbody/tbody.module.mjs +0 -47
  73. package/esm2022/lib/components/thead/cells/actions-title.component.mjs +0 -31
  74. package/esm2022/lib/components/thead/cells/actions.component.mjs +0 -42
  75. package/esm2022/lib/components/thead/cells/add-button.component.mjs +0 -57
  76. package/esm2022/lib/components/thead/cells/checkbox-select-all.component.mjs +0 -25
  77. package/esm2022/lib/components/thead/cells/column-title.component.mjs +0 -34
  78. package/esm2022/lib/components/thead/cells/title/title.component.mjs +0 -87
  79. package/esm2022/lib/components/thead/rows/thead-filters-row.component.mjs +0 -89
  80. package/esm2022/lib/components/thead/rows/thead-form-row.component.mjs +0 -108
  81. package/esm2022/lib/components/thead/rows/thead-titles-row.component.mjs +0 -87
  82. package/esm2022/lib/components/thead/thead.component.mjs +0 -42
  83. package/esm2022/lib/components/thead/thead.module.mjs +0 -75
  84. package/esm2022/lib/lib/data-set/cell.mjs +0 -43
  85. package/esm2022/lib/lib/data-set/column.mjs +0 -74
  86. package/esm2022/lib/lib/data-set/data-set.mjs +0 -96
  87. package/esm2022/lib/lib/data-set/row.mjs +0 -47
  88. package/esm2022/lib/lib/data-source/data-source.mjs +0 -92
  89. package/esm2022/lib/lib/data-source/local/local.data-source.mjs +0 -263
  90. package/esm2022/lib/lib/data-source/local/local.filter.mjs +0 -13
  91. package/esm2022/lib/lib/data-source/local/local.pager.mjs +0 -6
  92. package/esm2022/lib/lib/data-source/local/local.sorter.mjs +0 -19
  93. package/esm2022/lib/lib/grid.mjs +0 -218
  94. package/esm2022/lib/lib/helpers.mjs +0 -84
  95. package/esm2022/lib/lib/interfaces/smart-table.models.mjs +0 -16
  96. package/esm2022/lib/ng2-smart-table.component.mjs +0 -169
  97. package/esm2022/lib/ng2-smart-table.module.mjs +0 -51
  98. package/esm2022/public-api.mjs +0 -12
  99. package/lib/components/cell/cell.module.d.ts +0 -20
  100. package/lib/components/filter/filter.module.d.ts +0 -16
  101. package/lib/components/pager/pager.module.d.ts +0 -9
  102. package/lib/components/tbody/tbody.module.d.ts +0 -13
  103. package/lib/components/thead/thead.module.d.ts +0 -20
  104. package/lib/ng2-smart-table.module.d.ts +0 -14
@@ -1,53 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { UntypedFormControl } from '@angular/forms';
3
- import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
4
- import { DefaultFilter } from './default-filter';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/forms";
8
- export class InputFilterComponent extends DefaultFilter {
9
- constructor() {
10
- super();
11
- this.inputControl = new UntypedFormControl();
12
- }
13
- ngOnInit() {
14
- if (this.query) {
15
- this.inputControl.setValue(this.query);
16
- }
17
- this.inputControl.valueChanges
18
- .pipe(distinctUntilChanged(), debounceTime(this.delay))
19
- .subscribe((value) => {
20
- this.query = this.inputControl.value;
21
- this.setFilter();
22
- });
23
- }
24
- ngOnChanges(changes) {
25
- if (changes?.['query']) {
26
- this.inputControl.setValue(this.query);
27
- }
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputFilterComponent, selector: "input-filter", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
31
- <input
32
- [ngClass]="inputClass"
33
- [formControl]="inputControl"
34
- class="form-control"
35
- type="text"
36
- placeholder="{{ column.title }}"/>
37
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputFilterComponent, decorators: [{
40
- type: Component,
41
- args: [{
42
- selector: 'input-filter',
43
- template: `
44
- <input
45
- [ngClass]="inputClass"
46
- [formControl]="inputControl"
47
- class="form-control"
48
- type="text"
49
- placeholder="{{ column.title }}"/>
50
- `,
51
- }]
52
- }], ctorParameters: () => [] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nMi1zbWFydC10YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci10eXBlcy9pbnB1dC1maWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFhakQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUFJckQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUhWLGlCQUFZLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBSXhDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWTthQUMzQixJQUFJLENBQ0gsb0JBQW9CLEVBQUUsRUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQzsrR0EzQlUsb0JBQW9CO21HQUFwQixvQkFBb0IsZ0dBVHJCOzs7Ozs7O0dBT1Q7OzRGQUVVLG9CQUFvQjtrQkFYaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEZWZhdWx0RmlsdGVyIH0gZnJvbSAnLi9kZWZhdWx0LWZpbHRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lucHV0LWZpbHRlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlucHV0XG4gICAgICBbbmdDbGFzc109XCJpbnB1dENsYXNzXCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJpbnB1dENvbnRyb2xcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBjb2x1bW4udGl0bGUgfX1cIi8+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0RmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgRGVmYXVsdEZpbHRlciBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBpbnB1dENvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnF1ZXJ5KSB7XG4gICAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWx1ZSh0aGlzLnF1ZXJ5KTtcbiAgICB9XG4gICAgdGhpcy5pbnB1dENvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZGVsYXkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5pbnB1dENvbnRyb2wudmFsdWU7XG4gICAgICAgIHRoaXMuc2V0RmlsdGVyKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcz8uWydxdWVyeSddKSB7XG4gICAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWx1ZSh0aGlzLnF1ZXJ5KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,58 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { NgControl } from '@angular/forms';
3
- import { distinctUntilChanged, debounceTime, skip } from 'rxjs/operators';
4
- import { DefaultFilter } from './default-filter';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/forms";
8
- export class SelectFilterComponent extends DefaultFilter {
9
- constructor() {
10
- super();
11
- }
12
- ngOnInit() {
13
- if (this.inputControl.valueChanges) {
14
- this.inputControl.valueChanges
15
- .pipe(skip(1), distinctUntilChanged(), debounceTime(this.delay))
16
- .subscribe((value) => this.setFilter());
17
- }
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SelectFilterComponent, selector: "select-filter", viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["inputControl"], descendants: true, read: NgControl, static: true }], usesInheritance: true, ngImport: i0, template: `
21
- <select [ngClass]="inputClass"
22
- class="form-control"
23
- #inputControl
24
- [(ngModel)]="query">
25
-
26
- <option value="">{{ column.getFilterConfig().selectText }}</option>
27
- @for (option of column.getFilterConfig().list; track option) {
28
- <option [value]="option.value">
29
- {{ option.title }}
30
- </option>
31
- }
32
- </select>
33
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectFilterComponent, decorators: [{
36
- type: Component,
37
- args: [{
38
- selector: 'select-filter',
39
- template: `
40
- <select [ngClass]="inputClass"
41
- class="form-control"
42
- #inputControl
43
- [(ngModel)]="query">
44
-
45
- <option value="">{{ column.getFilterConfig().selectText }}</option>
46
- @for (option of column.getFilterConfig().list; track option) {
47
- <option [value]="option.value">
48
- {{ option.title }}
49
- </option>
50
- }
51
- </select>
52
- `,
53
- }]
54
- }], ctorParameters: () => [], propDecorators: { inputControl: [{
55
- type: ViewChild,
56
- args: ['inputControl', { read: NgControl, static: true }]
57
- }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZzItc21hcnQtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXItdHlwZXMvc2VsZWN0LWZpbHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBbUJqRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQUd0RDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZO2lCQUM3QixJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLG9CQUFvQixFQUFFLEVBQ3RCLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQ3pCO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUVILENBQUM7K0dBbEJVLHFCQUFxQjttR0FBckIscUJBQXFCLDhJQUNHLFNBQVMsa0VBaEJsQzs7Ozs7Ozs7Ozs7OztLQWFQOzs0RkFFUSxxQkFBcUI7a0JBakJqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7S0FhUDtpQkFDSjt3REFFK0QsWUFBWTtzQkFBekUsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZGVib3VuY2VUaW1lLCBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEZWZhdWx0RmlsdGVyIH0gZnJvbSAnLi9kZWZhdWx0LWZpbHRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlbGVjdC1maWx0ZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzZWxlY3QgW25nQ2xhc3NdPVwiaW5wdXRDbGFzc1wiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAjaW5wdXRDb250cm9sXG4gICAgICBbKG5nTW9kZWwpXT1cInF1ZXJ5XCI+XG4gICAgXG4gICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+e3sgY29sdW1uLmdldEZpbHRlckNvbmZpZygpLnNlbGVjdFRleHQgfX08L29wdGlvbj5cbiAgICAgIEBmb3IgKG9wdGlvbiBvZiBjb2x1bW4uZ2V0RmlsdGVyQ29uZmlnKCkubGlzdDsgdHJhY2sgb3B0aW9uKSB7XG4gICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxuICAgICAgICAgIHt7IG9wdGlvbi50aXRsZSB9fVxuICAgICAgICA8L29wdGlvbj5cbiAgICAgIH1cbiAgICA8L3NlbGVjdD5cbiAgICBgLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RGaWx0ZXJDb21wb25lbnQgZXh0ZW5kcyBEZWZhdWx0RmlsdGVyIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnaW5wdXRDb250cm9sJywgeyByZWFkOiBOZ0NvbnRyb2wsIHN0YXRpYzogdHJ1ZSB9KSBpbnB1dENvbnRyb2whOiBOZ0NvbnRyb2w7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmlucHV0Q29udHJvbC52YWx1ZUNoYW5nZXMpIHtcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlbGF5KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4gdGhpcy5zZXRGaWx0ZXIoKSk7XG4gICAgfVxuICAgIFxuICB9XG59XG4iXX0=
@@ -1,86 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { FilterDefault } from './filter-default';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./default-filter.component";
5
- import * as i2 from "./custom-filter.component";
6
- export class FilterComponent extends FilterDefault {
7
- ngOnChanges(changes) {
8
- if (changes['source']) {
9
- if (!changes['source'].firstChange && this.dataChangedSub) {
10
- this.dataChangedSub.unsubscribe();
11
- }
12
- this.dataChangedSub = this.source.onChanged().subscribe((dataChanges) => {
13
- const filterConf = this.source.getFilter();
14
- if (filterConf && filterConf.filters && filterConf.filters.length === 0) {
15
- this.query = '';
16
- // add a check for existing filters an set the query if one exists for this column
17
- // this covers instances where the filter is set by user code while maintaining existing functionality
18
- }
19
- else if (filterConf && filterConf.filters && filterConf.filters.length > 0) {
20
- filterConf.filters.forEach((k, v) => {
21
- if (k.field == this.column.id) {
22
- this.query = k.search;
23
- }
24
- });
25
- }
26
- });
27
- }
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FilterComponent, selector: "ng2-smart-table-filter", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
31
- @if (column.isFilterable) {
32
- <div class="ng2-smart-filter">
33
- @switch (column.getFilterType()) {
34
- @case ('custom') {
35
- <custom-table-filter
36
- [query]="query"
37
- [column]="column"
38
- [source]="source"
39
- [inputClass]="inputClass"
40
- (filter)="onFilter($event)">
41
- </custom-table-filter>
42
- }
43
- @default {
44
- <default-table-filter
45
- [query]="query"
46
- [column]="column"
47
- [source]="source"
48
- [inputClass]="inputClass"
49
- (filter)="onFilter($event)">
50
- </default-table-filter>
51
- }
52
- }
53
- </div>
54
- }
55
- `, isInline: true, styles: [":host .ng2-smart-filter ::ng-deep input,:host .ng2-smart-filter ::ng-deep select{width:100%;line-height:normal;padding:.375em .75em;font-weight:400}:host .ng2-smart-filter ::ng-deep input[type=search]{box-sizing:inherit}:host .ng2-smart-filter ::ng-deep .completer-dropdown-holder{font-weight:400}:host .ng2-smart-filter ::ng-deep a{font-weight:400}\n"], dependencies: [{ kind: "component", type: i1.DefaultFilterComponent, selector: "default-table-filter" }, { kind: "component", type: i2.CustomFilterComponent, selector: "custom-table-filter" }] }); }
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterComponent, decorators: [{
58
- type: Component,
59
- args: [{ selector: 'ng2-smart-table-filter', template: `
60
- @if (column.isFilterable) {
61
- <div class="ng2-smart-filter">
62
- @switch (column.getFilterType()) {
63
- @case ('custom') {
64
- <custom-table-filter
65
- [query]="query"
66
- [column]="column"
67
- [source]="source"
68
- [inputClass]="inputClass"
69
- (filter)="onFilter($event)">
70
- </custom-table-filter>
71
- }
72
- @default {
73
- <default-table-filter
74
- [query]="query"
75
- [column]="column"
76
- [source]="source"
77
- [inputClass]="inputClass"
78
- (filter)="onFilter($event)">
79
- </default-table-filter>
80
- }
81
- }
82
- </div>
83
- }
84
- `, styles: [":host .ng2-smart-filter ::ng-deep input,:host .ng2-smart-filter ::ng-deep select{width:100%;line-height:normal;padding:.375em .75em;font-weight:400}:host .ng2-smart-filter ::ng-deep input[type=search]{box-sizing:inherit}:host .ng2-smart-filter ::ng-deep .completer-dropdown-holder{font-weight:400}:host .ng2-smart-filter ::ng-deep a{font-weight:400}\n"] }]
85
- }] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nMi1zbWFydC10YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBaUNqRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBR2hELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUN0RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN4RSxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFFaEIsa0ZBQWtGO29CQUNsRixzR0FBc0c7Z0JBQ3hHLENBQUM7cUJBQU0sSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDN0UsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUU7d0JBQzVDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDOzRCQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7d0JBQ3hCLENBQUM7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7K0dBeEJVLGVBQWU7bUdBQWYsZUFBZSwwR0EzQmhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BeUJMOzs0RkFFTSxlQUFlO2tCQTlCM0IsU0FBUzsrQkFDRSx3QkFBd0IsWUFFeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F5QkwiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsdGVyRGVmYXVsdCB9IGZyb20gJy4vZmlsdGVyLWRlZmF1bHQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nMi1zbWFydC10YWJsZS1maWx0ZXInLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGU6IGBcbiAgICAgIEBpZiAoY29sdW1uLmlzRmlsdGVyYWJsZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibmcyLXNtYXJ0LWZpbHRlclwiPlxuICAgICAgICAgIEBzd2l0Y2ggKGNvbHVtbi5nZXRGaWx0ZXJUeXBlKCkpIHtcbiAgICAgICAgICAgIEBjYXNlICgnY3VzdG9tJykge1xuICAgICAgICAgICAgICA8Y3VzdG9tLXRhYmxlLWZpbHRlclxuICAgICAgICAgICAgICAgIFtxdWVyeV09XCJxdWVyeVwiXG4gICAgICAgICAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgIFtzb3VyY2VdPVwic291cmNlXCJcbiAgICAgICAgICAgICAgICBbaW5wdXRDbGFzc109XCJpbnB1dENsYXNzXCJcbiAgICAgICAgICAgICAgICAoZmlsdGVyKT1cIm9uRmlsdGVyKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPC9jdXN0b20tdGFibGUtZmlsdGVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgICAgICA8ZGVmYXVsdC10YWJsZS1maWx0ZXJcbiAgICAgICAgICAgICAgICBbcXVlcnldPVwicXVlcnlcIlxuICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICBbc291cmNlXT1cInNvdXJjZVwiXG4gICAgICAgICAgICAgICAgW2lucHV0Q2xhc3NdPVwiaW5wdXRDbGFzc1wiXG4gICAgICAgICAgICAgICAgKGZpbHRlcik9XCJvbkZpbHRlcigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDwvZGVmYXVsdC10YWJsZS1maWx0ZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckNvbXBvbmVudCBleHRlbmRzIEZpbHRlckRlZmF1bHQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgZGF0YUNoYW5nZWRTdWI/OiBTdWJzY3JpcHRpb247XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydzb3VyY2UnXSkge1xuICAgICAgaWYgKCFjaGFuZ2VzWydzb3VyY2UnXS5maXJzdENoYW5nZSAmJiB0aGlzLmRhdGFDaGFuZ2VkU3ViKSB7XG4gICAgICAgIHRoaXMuZGF0YUNoYW5nZWRTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZGF0YUNoYW5nZWRTdWIgPSB0aGlzLnNvdXJjZS5vbkNoYW5nZWQoKS5zdWJzY3JpYmUoKGRhdGFDaGFuZ2VzKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbHRlckNvbmYgPSB0aGlzLnNvdXJjZS5nZXRGaWx0ZXIoKTtcbiAgICAgICAgaWYgKGZpbHRlckNvbmYgJiYgZmlsdGVyQ29uZi5maWx0ZXJzICYmIGZpbHRlckNvbmYuZmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aGlzLnF1ZXJ5ID0gJyc7XG5cbiAgICAgICAgICAvLyBhZGQgYSBjaGVjayBmb3IgZXhpc3RpbmcgZmlsdGVycyBhbiBzZXQgdGhlIHF1ZXJ5IGlmIG9uZSBleGlzdHMgZm9yIHRoaXMgY29sdW1uXG4gICAgICAgICAgLy8gdGhpcyBjb3ZlcnMgaW5zdGFuY2VzIHdoZXJlIHRoZSBmaWx0ZXIgaXMgc2V0IGJ5IHVzZXIgY29kZSB3aGlsZSBtYWludGFpbmluZyBleGlzdGluZyBmdW5jdGlvbmFsaXR5XG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyQ29uZiAmJiBmaWx0ZXJDb25mLmZpbHRlcnMgJiYgZmlsdGVyQ29uZi5maWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBmaWx0ZXJDb25mLmZpbHRlcnMuZm9yRWFjaCgoazogYW55LCB2OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChrLmZpZWxkID09IHRoaXMuY29sdW1uLmlkKSB7XG4gICAgICAgICAgICAgIHRoaXMucXVlcnkgPSBrLnNlYXJjaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,62 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { FilterComponent } from './filter.component';
5
- import { DefaultFilterComponent } from "./default-filter.component";
6
- import { CustomFilterComponent } from "./custom-filter.component";
7
- import { CheckboxFilterComponent } from './filter-types/checkbox-filter.component';
8
- import { InputFilterComponent } from './filter-types/input-filter.component';
9
- import { SelectFilterComponent } from './filter-types/select-filter.component';
10
- import { DefaultFilter } from './filter-types/default-filter';
11
- import { FilterDefault } from './filter-default';
12
- import * as i0 from "@angular/core";
13
- const FILTER_COMPONENTS = [
14
- FilterDefault,
15
- DefaultFilter,
16
- FilterComponent,
17
- DefaultFilterComponent,
18
- CustomFilterComponent,
19
- CheckboxFilterComponent,
20
- InputFilterComponent,
21
- SelectFilterComponent,
22
- ];
23
- export class FilterModule {
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FilterModule, declarations: [FilterDefault,
26
- DefaultFilter,
27
- FilterComponent,
28
- DefaultFilterComponent,
29
- CustomFilterComponent,
30
- CheckboxFilterComponent,
31
- InputFilterComponent,
32
- SelectFilterComponent], imports: [CommonModule,
33
- FormsModule,
34
- ReactiveFormsModule], exports: [FilterDefault,
35
- DefaultFilter,
36
- FilterComponent,
37
- DefaultFilterComponent,
38
- CustomFilterComponent,
39
- CheckboxFilterComponent,
40
- InputFilterComponent,
41
- SelectFilterComponent] }); }
42
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterModule, imports: [CommonModule,
43
- FormsModule,
44
- ReactiveFormsModule] }); }
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterModule, decorators: [{
47
- type: NgModule,
48
- args: [{
49
- imports: [
50
- CommonModule,
51
- FormsModule,
52
- ReactiveFormsModule,
53
- ],
54
- declarations: [
55
- ...FILTER_COMPONENTS,
56
- ],
57
- exports: [
58
- ...FILTER_COMPONENTS,
59
- ],
60
- }]
61
- }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nMi1zbWFydC10YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUVqRCxNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLGFBQWE7SUFDYixhQUFhO0lBQ2IsZUFBZTtJQUNmLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixxQkFBcUI7Q0FDdEIsQ0FBQztBQWVGLE1BQU0sT0FBTyxZQUFZOytHQUFaLFlBQVk7Z0hBQVosWUFBWSxpQkF2QnZCLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQixxQkFBcUIsYUFLbkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUIsYUFkckIsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLHFCQUFxQjtnSEFnQlYsWUFBWSxZQVhyQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjs7NEZBU1YsWUFBWTtrQkFieEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDcEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLEdBQUcsaUJBQWlCO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsR0FBRyxpQkFBaUI7cUJBQ3JCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERlZmF1bHRGaWx0ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9kZWZhdWx0LWZpbHRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IEN1c3RvbUZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL2N1c3RvbS1maWx0ZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDaGVja2JveEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLXR5cGVzL2NoZWNrYm94LWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlci10eXBlcy9pbnB1dC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLXR5cGVzL3NlbGVjdC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERlZmF1bHRGaWx0ZXIgfSBmcm9tICcuL2ZpbHRlci10eXBlcy9kZWZhdWx0LWZpbHRlcic7XG5pbXBvcnQgeyBGaWx0ZXJEZWZhdWx0IH0gZnJvbSAnLi9maWx0ZXItZGVmYXVsdCc7XG5cbmNvbnN0IEZJTFRFUl9DT01QT05FTlRTID0gW1xuICBGaWx0ZXJEZWZhdWx0LFxuICBEZWZhdWx0RmlsdGVyLFxuICBGaWx0ZXJDb21wb25lbnQsXG4gIERlZmF1bHRGaWx0ZXJDb21wb25lbnQsXG4gIEN1c3RvbUZpbHRlckNvbXBvbmVudCxcbiAgQ2hlY2tib3hGaWx0ZXJDb21wb25lbnQsXG4gIElucHV0RmlsdGVyQ29tcG9uZW50LFxuICBTZWxlY3RGaWx0ZXJDb21wb25lbnQsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIC4uLkZJTFRFUl9DT01QT05FTlRTLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLi4uRklMVEVSX0NPTVBPTkVOVFMsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlck1vZHVsZSB7IH1cbiJdfQ==
@@ -1,241 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { LocalDataSource } from '../../lib/data-source/local/local.data-source';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- export class PagerComponent {
7
- constructor() {
8
- this.perPageSelect = [];
9
- this.changePage = new EventEmitter();
10
- this.currentPerPage = 0;
11
- this.pages = [];
12
- this.page = 1;
13
- this.count = 0;
14
- this.perPage = 0;
15
- }
16
- ngOnChanges(changes) {
17
- if (changes['source']) {
18
- if (!changes['source'].firstChange && this.dataChangedSub) {
19
- this.dataChangedSub.unsubscribe();
20
- }
21
- this.dataChangedSub = this.source.onChanged().subscribe((dataChanges) => {
22
- const paging = this.source.getPaging();
23
- if (paging) {
24
- this.page = paging.page;
25
- this.perPage = paging.perPage;
26
- }
27
- this.currentPerPage = this.perPage;
28
- this.count = this.source.count();
29
- if (this.isPageOutOfBounce()) {
30
- this.source.setPage(--this.page);
31
- }
32
- this.processPageChange(dataChanges);
33
- this.initPages();
34
- });
35
- }
36
- }
37
- /**
38
- * We change the page here depending on the action performed against data source
39
- * if a new element was added to the end of the table - then change the page to the last
40
- * if a new element was added to the beginning of the table - then to the first page
41
- * @param changes
42
- */
43
- processPageChange(changes) {
44
- if (changes['action'] === 'prepend') {
45
- this.source.setPage(1);
46
- }
47
- if (changes['action'] === 'append') {
48
- this.source.setPage(this.getLast());
49
- }
50
- }
51
- shouldShow() {
52
- return this.source.count() > this.perPage;
53
- }
54
- paginate(page) {
55
- this.source.setPage(page);
56
- this.page = page;
57
- this.changePage.emit({ page });
58
- return false;
59
- }
60
- next() {
61
- return this.paginate(this.getPage() + 1);
62
- }
63
- prev() {
64
- return this.paginate(this.getPage() - 1);
65
- }
66
- getPage() {
67
- return this.page;
68
- }
69
- getPages() {
70
- return this.pages;
71
- }
72
- getLast() {
73
- return Math.ceil(this.count / this.perPage);
74
- }
75
- isPageOutOfBounce() {
76
- return (this.page * this.perPage) >= (this.count + this.perPage) && this.page > 1;
77
- }
78
- initPages() {
79
- const pagesCount = this.getLast();
80
- let showPagesCount = 4;
81
- showPagesCount = pagesCount < showPagesCount ? pagesCount : showPagesCount;
82
- this.pages = [];
83
- if (this.shouldShow()) {
84
- let middleOne = Math.ceil(showPagesCount / 2);
85
- middleOne = this.page >= middleOne ? this.page : middleOne;
86
- let lastOne = middleOne + Math.floor(showPagesCount / 2);
87
- lastOne = lastOne >= pagesCount ? pagesCount : lastOne;
88
- const firstOne = lastOne - showPagesCount + 1;
89
- for (let i = firstOne; i <= lastOne; i++) {
90
- this.pages.push(i);
91
- }
92
- }
93
- }
94
- onChangePerPage() {
95
- const paging = this.source.getPaging();
96
- if (paging) {
97
- paging.perPage = this.currentPerPage * 1;
98
- }
99
- this.source.refresh();
100
- this.initPages();
101
- }
102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PagerComponent, selector: "ng2-smart-table-pager", inputs: { source: "source", perPageSelect: "perPageSelect" }, outputs: { changePage: "changePage" }, usesOnChanges: true, ngImport: i0, template: `
104
- @if (shouldShow()) {
105
- <nav class="ng2-smart-pagination-nav">
106
- <ul class="ng2-smart-pagination pagination">
107
- <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
108
- <a class="ng2-smart-page-link page-link" href="#"
109
- (click)="getPage() == 1 ? false : paginate(1)" aria-label="First">
110
- <span aria-hidden="true">&laquo;</span>
111
- <span class="sr-only">First</span>
112
- </a>
113
- </li>
114
- <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
115
- <a class="ng2-smart-page-link page-link page-link-prev" href="#"
116
- (click)="getPage() == 1 ? false : prev()" aria-label="Prev">
117
- <span aria-hidden="true">&lt;</span>
118
- <span class="sr-only">Prev</span>
119
- </a>
120
- </li>
121
- @for (page of getPages(); track page) {
122
- <li class="ng2-smart-page-item page-item"
123
- [ngClass]="{active: getPage() == page}">
124
- @if (getPage() == page) {
125
- <span class="ng2-smart-page-link page-link"
126
- >{{ page }} <span class="sr-only">(current)</span></span>
127
- }
128
- @if (getPage() != page) {
129
- <a class="ng2-smart-page-link page-link" href="#"
130
- (click)="paginate(page)">{{ page }}</a>
131
- }
132
- </li>
133
- }
134
- <li class="ng2-smart-page-item page-item"
135
- [ngClass]="{disabled: getPage() == getLast()}">
136
- <a class="ng2-smart-page-link page-link page-link-next" href="#"
137
- (click)="getPage() == getLast() ? false : next()" aria-label="Next">
138
- <span aria-hidden="true">&gt;</span>
139
- <span class="sr-only">Next</span>
140
- </a>
141
- </li>
142
- <li class="ng2-smart-page-item page-item"
143
- [ngClass]="{disabled: getPage() == getLast()}">
144
- <a class="ng2-smart-page-link page-link" href="#"
145
- (click)="getPage() == getLast() ? false : paginate(getLast())" aria-label="Last">
146
- <span aria-hidden="true">&raquo;</span>
147
- <span class="sr-only">Last</span>
148
- </a>
149
- </li>
150
- </ul>
151
- </nav>
152
- }
153
-
154
- @if (perPageSelect && perPageSelect.length > 0) {
155
- <nav class="ng2-smart-pagination-per-page">
156
- <label for="per-page">
157
- Per Page:
158
- </label>
159
- <select (change)="onChangePerPage()" [(ngModel)]="currentPerPage" id="per-page">
160
- @for (item of perPageSelect; track item) {
161
- <option [value]="item">{{ item }}</option>
162
- }
163
- </select>
164
- </nav>
165
- }
166
- `, isInline: true, styles: [".ng2-smart-pagination{display:inline-flex;font-size:.875em;padding:0}.ng2-smart-pagination .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ng2-smart-pagination .ng2-smart-page-item{display:inline}.ng2-smart-pagination .page-link-next,.ng2-smart-pagination .page-link-prev{font-size:10px}:host{display:flex;justify-content:space-between}:host select{margin:1rem 0 1rem 1rem}:host label{margin:1rem 0 1rem 1rem;line-height:2.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
167
- }
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerComponent, decorators: [{
169
- type: Component,
170
- args: [{ selector: 'ng2-smart-table-pager', template: `
171
- @if (shouldShow()) {
172
- <nav class="ng2-smart-pagination-nav">
173
- <ul class="ng2-smart-pagination pagination">
174
- <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
175
- <a class="ng2-smart-page-link page-link" href="#"
176
- (click)="getPage() == 1 ? false : paginate(1)" aria-label="First">
177
- <span aria-hidden="true">&laquo;</span>
178
- <span class="sr-only">First</span>
179
- </a>
180
- </li>
181
- <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
182
- <a class="ng2-smart-page-link page-link page-link-prev" href="#"
183
- (click)="getPage() == 1 ? false : prev()" aria-label="Prev">
184
- <span aria-hidden="true">&lt;</span>
185
- <span class="sr-only">Prev</span>
186
- </a>
187
- </li>
188
- @for (page of getPages(); track page) {
189
- <li class="ng2-smart-page-item page-item"
190
- [ngClass]="{active: getPage() == page}">
191
- @if (getPage() == page) {
192
- <span class="ng2-smart-page-link page-link"
193
- >{{ page }} <span class="sr-only">(current)</span></span>
194
- }
195
- @if (getPage() != page) {
196
- <a class="ng2-smart-page-link page-link" href="#"
197
- (click)="paginate(page)">{{ page }}</a>
198
- }
199
- </li>
200
- }
201
- <li class="ng2-smart-page-item page-item"
202
- [ngClass]="{disabled: getPage() == getLast()}">
203
- <a class="ng2-smart-page-link page-link page-link-next" href="#"
204
- (click)="getPage() == getLast() ? false : next()" aria-label="Next">
205
- <span aria-hidden="true">&gt;</span>
206
- <span class="sr-only">Next</span>
207
- </a>
208
- </li>
209
- <li class="ng2-smart-page-item page-item"
210
- [ngClass]="{disabled: getPage() == getLast()}">
211
- <a class="ng2-smart-page-link page-link" href="#"
212
- (click)="getPage() == getLast() ? false : paginate(getLast())" aria-label="Last">
213
- <span aria-hidden="true">&raquo;</span>
214
- <span class="sr-only">Last</span>
215
- </a>
216
- </li>
217
- </ul>
218
- </nav>
219
- }
220
-
221
- @if (perPageSelect && perPageSelect.length > 0) {
222
- <nav class="ng2-smart-pagination-per-page">
223
- <label for="per-page">
224
- Per Page:
225
- </label>
226
- <select (change)="onChangePerPage()" [(ngModel)]="currentPerPage" id="per-page">
227
- @for (item of perPageSelect; track item) {
228
- <option [value]="item">{{ item }}</option>
229
- }
230
- </select>
231
- </nav>
232
- }
233
- `, styles: [".ng2-smart-pagination{display:inline-flex;font-size:.875em;padding:0}.ng2-smart-pagination .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ng2-smart-pagination .ng2-smart-page-item{display:inline}.ng2-smart-pagination .page-link-next,.ng2-smart-pagination .page-link-prev{font-size:10px}:host{display:flex;justify-content:space-between}:host select{margin:1rem 0 1rem 1rem}:host label{margin:1rem 0 1rem 1rem;line-height:2.5rem}\n"] }]
234
- }], propDecorators: { source: [{
235
- type: Input
236
- }], perPageSelect: [{
237
- type: Input
238
- }], changePage: [{
239
- type: Output
240
- }] } });
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmcyLXNtYXJ0LXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9wYWdlci9wYWdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFakcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7O0FBc0VoRixNQUFNLE9BQU8sY0FBYztJQXBFM0I7UUF1RVcsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFFNUIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFL0MsbUJBQWMsR0FBVyxDQUFDLENBQUM7UUFFakIsVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUNyQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ2pCLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDbEIsWUFBTyxHQUFXLENBQUMsQ0FBQztLQTJHL0I7SUF2R0MsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUMxRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BDLENBQUM7WUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQ3RFLE1BQU0sTUFBTSxHQUFpQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNyRSxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNY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WUFFdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQStEUDs4QkFJTSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU21hcnRUYWJsZVBhZ2luZ0l0ZW0gfSBmcm9tICcuLy4uLy4uL2xpYi9pbnRlcmZhY2VzL3NtYXJ0LXRhYmxlLm1vZGVscyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvY2FsRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2xpYi9kYXRhLXNvdXJjZS9sb2NhbC9sb2NhbC5kYXRhLXNvdXJjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nMi1zbWFydC10YWJsZS1wYWdlcicsXG4gIHN0eWxlVXJsczogWycuL3BhZ2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChzaG91bGRTaG93KCkpIHtcbiAgICAgIDxuYXYgY2xhc3M9XCJuZzItc21hcnQtcGFnaW5hdGlvbi1uYXZcIj5cbiAgICAgICAgPHVsIGNsYXNzPVwibmcyLXNtYXJ0LXBhZ2luYXRpb24gcGFnaW5hdGlvblwiPlxuICAgICAgICAgIDxsaSBjbGFzcz1cIm5nMi1zbWFydC1wYWdlLWl0ZW0gcGFnZS1pdGVtXCIgW25nQ2xhc3NdPVwie2Rpc2FibGVkOiBnZXRQYWdlKCkgPT0gMX1cIj5cbiAgICAgICAgICAgIDxhIGNsYXNzPVwibmcyLXNtYXJ0LXBhZ2UtbGluayBwYWdlLWxpbmtcIiBocmVmPVwiI1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJnZXRQYWdlKCkgPT0gMSA/IGZhbHNlIDogcGFnaW5hdGUoMSlcIiBhcmlhLWxhYmVsPVwiRmlyc3RcIj5cbiAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JmxhcXVvOzwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Rmlyc3Q8L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGkgY2xhc3M9XCJuZzItc21hcnQtcGFnZS1pdGVtIHBhZ2UtaXRlbVwiIFtuZ0NsYXNzXT1cIntkaXNhYmxlZDogZ2V0UGFnZSgpID09IDF9XCI+XG4gICAgICAgICAgICA8YSBjbGFzcz1cIm5nMi1zbWFydC1wYWdlLWxpbmsgcGFnZS1saW5rIHBhZ2UtbGluay1wcmV2XCIgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZ2V0UGFnZSgpID09IDEgPyBmYWxzZSA6IHByZXYoKVwiIGFyaWEtbGFiZWw9XCJQcmV2XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZsdDs8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlByZXY8L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICBAZm9yIChwYWdlIG9mIGdldFBhZ2VzKCk7IHRyYWNrIHBhZ2UpIHtcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5nMi1zbWFydC1wYWdlLWl0ZW0gcGFnZS1pdGVtXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2FjdGl2ZTogZ2V0UGFnZSgpID09IHBhZ2V9XCI+XG4gICAgICAgICAgICAgIEBpZiAoZ2V0UGFnZSgpID09IHBhZ2UpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5nMi1zbWFydC1wYWdlLWxpbmsgcGFnZS1saW5rXCJcbiAgICAgICAgICAgICAgICAgID57eyBwYWdlIH19IDxzcGFuIGNsYXNzPVwic3Itb25seVwiPihjdXJyZW50KTwvc3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoZ2V0UGFnZSgpICE9IHBhZ2UpIHtcbiAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibmcyLXNtYXJ0LXBhZ2UtbGluayBwYWdlLWxpbmtcIiBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwicGFnaW5hdGUocGFnZSlcIj57eyBwYWdlIH19PC9hPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5nMi1zbWFydC1wYWdlLWl0ZW0gcGFnZS1pdGVtXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2Rpc2FibGVkOiBnZXRQYWdlKCkgPT0gZ2V0TGFzdCgpfVwiPlxuICAgICAgICAgICAgICA8YSBjbGFzcz1cIm5nMi1zbWFydC1wYWdlLWxpbmsgcGFnZS1saW5rIHBhZ2UtbGluay1uZXh0XCIgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnZXRQYWdlKCkgPT0gZ2V0TGFzdCgpID8gZmFsc2UgOiBuZXh0KClcIiBhcmlhLWxhYmVsPVwiTmV4dFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZndDs8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+TmV4dDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5nMi1zbWFydC1wYWdlLWl0ZW0gcGFnZS1pdGVtXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2Rpc2FibGVkOiBnZXRQYWdlKCkgPT0gZ2V0TGFzdCgpfVwiPlxuICAgICAgICAgICAgICA8YSBjbGFzcz1cIm5nMi1zbWFydC1wYWdlLWxpbmsgcGFnZS1saW5rXCIgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnZXRQYWdlKCkgPT0gZ2V0TGFzdCgpID8gZmFsc2UgOiBwYWdpbmF0ZShnZXRMYXN0KCkpXCIgYXJpYS1sYWJlbD1cIkxhc3RcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mcmFxdW87PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPkxhc3Q8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9uYXY+XG4gICAgICB9XG4gICAgXG4gICAgICBAaWYgKHBlclBhZ2VTZWxlY3QgJiYgcGVyUGFnZVNlbGVjdC5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxuYXYgY2xhc3M9XCJuZzItc21hcnQtcGFnaW5hdGlvbi1wZXItcGFnZVwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZXItcGFnZVwiPlxuICAgICAgICAgICAgUGVyIFBhZ2U6XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8c2VsZWN0IChjaGFuZ2UpPVwib25DaGFuZ2VQZXJQYWdlKClcIiBbKG5nTW9kZWwpXT1cImN1cnJlbnRQZXJQYWdlXCIgaWQ9XCJwZXItcGFnZVwiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBwZXJQYWdlU2VsZWN0OyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIml0ZW1cIj57eyBpdGVtIH19PC9vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvbmF2PlxuICAgICAgfVxuICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBzb3VyY2UhOiBMb2NhbERhdGFTb3VyY2U7XG4gIEBJbnB1dCgpIHBlclBhZ2VTZWxlY3Q6IG51bWJlcltdID0gW107XG5cbiAgQE91dHB1dCgpIGNoYW5nZVBhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjdXJyZW50UGVyUGFnZTogbnVtYmVyID0gMDtcblxuICBwcm90ZWN0ZWQgcGFnZXM6IG51bWJlcltdID0gW107XG4gIHByb3RlY3RlZCBwYWdlOiBudW1iZXIgPSAxO1xuICBwcm90ZWN0ZWQgY291bnQ6IG51bWJlciA9IDA7XG4gIHByb3RlY3RlZCBwZXJQYWdlOiBudW1iZXIgPSAwO1xuXG4gIHByb3RlY3RlZCBkYXRhQ2hhbmdlZFN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snc291cmNlJ10pIHtcbiAgICAgIGlmICghY2hhbmdlc1snc291cmNlJ10uZmlyc3RDaGFuZ2UgJiYgdGhpcy5kYXRhQ2hhbmdlZFN1Yikge1xuICAgICAgICB0aGlzLmRhdGFDaGFuZ2VkU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmRhdGFDaGFuZ2VkU3ViID0gdGhpcy5zb3VyY2Uub25DaGFuZ2VkKCkuc3Vic2NyaWJlKChkYXRhQ2hhbmdlcykgPT4ge1xuICAgICAgICBjb25zdCBwYWdpbmc6IFNtYXJ0VGFibGVQYWdpbmdJdGVtIHwgZmFsc2UgPSB0aGlzLnNvdXJjZS5nZXRQYWdpbmcoKTtcbiAgICAgICAgaWYgKHBhZ2luZykge1xuICAgICAgICAgIHRoaXMucGFnZSA9IHBhZ2luZy5wYWdlO1xuICAgICAgICAgIHRoaXMucGVyUGFnZSA9IHBhZ2luZy5wZXJQYWdlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3VycmVudFBlclBhZ2UgPSB0aGlzLnBlclBhZ2U7XG4gICAgICAgIHRoaXMuY291bnQgPSB0aGlzLnNvdXJjZS5jb3VudCgpO1xuICAgICAgICBpZiAodGhpcy5pc1BhZ2VPdXRPZkJvdW5jZSgpKSB7XG4gICAgICAgICAgdGhpcy5zb3VyY2Uuc2V0UGFnZSgtLXRoaXMucGFnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb2Nlc3NQYWdlQ2hhbmdlKGRhdGFDaGFuZ2VzKTtcbiAgICAgICAgdGhpcy5pbml0UGFnZXMoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXZSBjaGFuZ2UgdGhlIHBhZ2UgaGVyZSBkZXBlbmRpbmcgb24gdGhlIGFjdGlvbiBwZXJmb3JtZWQgYWdhaW5zdCBkYXRhIHNvdXJjZVxuICAgKiBpZiBhIG5ldyBlbGVtZW50IHdhcyBhZGRlZCB0byB0aGUgZW5kIG9mIHRoZSB0YWJsZSAtIHRoZW4gY2hhbmdlIHRoZSBwYWdlIHRvIHRoZSBsYXN0XG4gICAqIGlmIGEgbmV3IGVsZW1lbnQgd2FzIGFkZGVkIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRhYmxlIC0gdGhlbiB0byB0aGUgZmlyc3QgcGFnZVxuICAgKiBAcGFyYW0gY2hhbmdlc1xuICAgKi9cbiAgcHJvY2Vzc1BhZ2VDaGFuZ2UoY2hhbmdlczogYW55KSB7XG4gICAgaWYgKGNoYW5nZXNbJ2FjdGlvbiddID09PSAncHJlcGVuZCcpIHtcbiAgICAgIHRoaXMuc291cmNlLnNldFBhZ2UoMSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydhY3Rpb24nXSA9PT0gJ2FwcGVuZCcpIHtcbiAgICAgIHRoaXMuc291cmNlLnNldFBhZ2UodGhpcy5nZXRMYXN0KCkpO1xuICAgIH1cbiAgfVxuXG4gIHNob3VsZFNob3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc291cmNlLmNvdW50KCkgPiB0aGlzLnBlclBhZ2U7XG4gIH1cblxuICBwYWdpbmF0ZShwYWdlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICB0aGlzLnNvdXJjZS5zZXRQYWdlKHBhZ2UpO1xuICAgIHRoaXMucGFnZSA9IHBhZ2U7XG4gICAgdGhpcy5jaGFuZ2VQYWdlLmVtaXQoeyBwYWdlIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG5leHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGFnaW5hdGUodGhpcy5nZXRQYWdlKCkgKyAxKTtcbiAgfVxuXG4gIHByZXYoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGFnaW5hdGUodGhpcy5nZXRQYWdlKCkgLSAxKTtcbiAgfVxuXG4gIGdldFBhZ2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlO1xuICB9XG5cbiAgZ2V0UGFnZXMoKTogbnVtYmVyW10ge1xuICAgIHJldHVybiB0aGlzLnBhZ2VzO1xuICB9XG5cbiAgZ2V0TGFzdCgpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5jb3VudCAvIHRoaXMucGVyUGFnZSk7XG4gIH1cblxuICBpc1BhZ2VPdXRPZkJvdW5jZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMucGFnZSAqIHRoaXMucGVyUGFnZSkgPj0gKHRoaXMuY291bnQgKyB0aGlzLnBlclBhZ2UpICYmIHRoaXMucGFnZSA+IDE7XG4gIH1cblxuICBpbml0UGFnZXMoKSB7XG4gICAgY29uc3QgcGFnZXNDb3VudCA9IHRoaXMuZ2V0TGFzdCgpO1xuICAgIGxldCBzaG93UGFnZXNDb3VudCA9IDQ7XG4gICAgc2hvd1BhZ2VzQ291bnQgPSBwYWdlc0NvdW50IDwgc2hvd1BhZ2VzQ291bnQgPyBwYWdlc0NvdW50IDogc2hvd1BhZ2VzQ291bnQ7XG4gICAgdGhpcy5wYWdlcyA9IFtdO1xuXG4gICAgaWYgKHRoaXMuc2hvdWxkU2hvdygpKSB7XG5cbiAgICAgIGxldCBtaWRkbGVPbmUgPSBNYXRoLmNlaWwoc2hvd1BhZ2VzQ291bnQgLyAyKTtcbiAgICAgIG1pZGRsZU9uZSA9IHRoaXMucGFnZSA+PSBtaWRkbGVPbmUgPyB0aGlzLnBhZ2UgOiBtaWRkbGVPbmU7XG5cbiAgICAgIGxldCBsYXN0T25lID0gbWlkZGxlT25lICsgTWF0aC5mbG9vcihzaG93UGFnZXNDb3VudCAvIDIpO1xuICAgICAgbGFzdE9uZSA9IGxhc3RPbmUgPj0gcGFnZXNDb3VudCA/IHBhZ2VzQ291bnQgOiBsYXN0T25lO1xuXG4gICAgICBjb25zdCBmaXJzdE9uZSA9IGxhc3RPbmUgLSBzaG93UGFnZXNDb3VudCArIDE7XG5cbiAgICAgIGZvciAobGV0IGkgPSBmaXJzdE9uZTsgaSA8PSBsYXN0T25lOyBpKyspIHtcbiAgICAgICAgdGhpcy5wYWdlcy5wdXNoKGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQ2hhbmdlUGVyUGFnZSgpIHtcbiAgICBjb25zdCBwYWdpbmc6IFNtYXJ0VGFibGVQYWdpbmdJdGVtIHwgZmFsc2UgPSB0aGlzLnNvdXJjZS5nZXRQYWdpbmcoKTsgXG4gICAgaWYgKHBhZ2luZykge1xuICAgICAgcGFnaW5nLnBlclBhZ2UgPSB0aGlzLmN1cnJlbnRQZXJQYWdlICogMTtcbiAgICB9XG4gICAgdGhpcy5zb3VyY2UucmVmcmVzaCgpO1xuICAgIHRoaXMuaW5pdFBhZ2VzKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import { PagerComponent } from './pager.component';
5
- import * as i0 from "@angular/core";
6
- export class PagerModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: PagerModule, declarations: [PagerComponent], imports: [CommonModule,
9
- FormsModule], exports: [PagerComponent] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerModule, imports: [CommonModule,
11
- FormsModule] }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- imports: [
17
- CommonModule,
18
- FormsModule,
19
- ],
20
- declarations: [
21
- PagerComponent,
22
- ],
23
- exports: [
24
- PagerComponent,
25
- ],
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmcyLXNtYXJ0LXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9wYWdlci9wYWdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFjbkQsTUFBTSxPQUFPLFdBQVc7K0dBQVgsV0FBVztnSEFBWCxXQUFXLGlCQU5wQixjQUFjLGFBSmQsWUFBWTtZQUNaLFdBQVcsYUFNWCxjQUFjO2dIQUdMLFdBQVcsWUFWcEIsWUFBWTtZQUNaLFdBQVc7OzRGQVNGLFdBQVc7a0JBWnZCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVztxQkFDWjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFBhZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBQYWdlckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFBhZ2VyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlck1vZHVsZSB7IH1cbiJdfQ==