@progress/kendo-angular-pager 3.0.3 → 4.0.0-dev.202204131851

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 (116) hide show
  1. package/bundles/kendo-angular-pager.umd.js +5 -0
  2. package/{dist/es/util.js → esm2015/kendo-angular-pager.js} +2 -2
  3. package/{dist/es2015 → esm2015}/main.js +1 -0
  4. package/{dist/es2015 → esm2015}/package-metadata.js +1 -1
  5. package/{dist/es → esm2015}/pager/change-event-args.interface.js +1 -0
  6. package/{dist/es2015 → esm2015}/pager/common/constants.js +0 -0
  7. package/{dist/es2015 → esm2015}/pager/common/pager-type.js +1 -0
  8. package/esm2015/pager/localization/custom-messages.component.js +41 -0
  9. package/esm2015/pager/localization/localized-messages.directive.js +36 -0
  10. package/esm2015/pager/localization/messages.js +41 -0
  11. package/{dist/es2015 → esm2015}/pager/pager-context.service.js +0 -0
  12. package/{dist/es2015 → esm2015}/pager/pager-element.component.js +13 -0
  13. package/esm2015/pager/pager-info.component.js +73 -0
  14. package/esm2015/pager/pager-input.component.js +133 -0
  15. package/esm2015/pager/pager-next-buttons.component.js +86 -0
  16. package/esm2015/pager/pager-numeric-buttons.component.js +206 -0
  17. package/{dist/es2015 → esm2015}/pager/pager-page-sizes.component.js +54 -47
  18. package/esm2015/pager/pager-prev-buttons.component.js +86 -0
  19. package/{dist/es2015 → esm2015}/pager/pager-template.directive.js +14 -12
  20. package/{dist/es2015 → esm2015}/pager/pager.component.js +120 -85
  21. package/{dist/es2015 → esm2015}/pager/pager.module.js +37 -12
  22. package/{dist/es2015 → esm2015}/pager/pagesize-item.interface.js +1 -0
  23. package/{dist/es2015 → esm2015}/pager/pagesizechange-event.js +0 -0
  24. package/{dist/es2015 → esm2015}/pager/preventable-event.js +0 -0
  25. package/{dist/es2015 → esm2015}/util.js +0 -0
  26. package/{dist/fesm2015/index.js → fesm2015/kendo-angular-pager.js} +499 -310
  27. package/{dist/es2015/pager/pager.module.d.ts → kendo-angular-pager.d.ts} +3 -4
  28. package/{dist/es2015/main.d.ts → main.d.ts} +1 -0
  29. package/{dist/es2015/package-metadata.d.ts → package-metadata.d.ts} +0 -0
  30. package/package.json +35 -107
  31. package/{dist/es2015/pager → pager}/change-event-args.interface.d.ts +0 -0
  32. package/{dist/es2015/pager → pager}/common/constants.d.ts +0 -0
  33. package/{dist/es2015/pager → pager}/common/pager-type.d.ts +0 -0
  34. package/{dist/es2015/pager → pager}/localization/custom-messages.component.d.ts +4 -1
  35. package/{dist/es2015/pager → pager}/localization/localized-messages.directive.d.ts +3 -0
  36. package/{dist/es2015/pager → pager}/localization/messages.d.ts +3 -0
  37. package/{dist/es2015/pager → pager}/pager-context.service.d.ts +1 -1
  38. package/{dist/es2015/pager → pager}/pager-element.component.d.ts +5 -2
  39. package/{dist/es2015/pager → pager}/pager-info.component.d.ts +6 -3
  40. package/{dist/es2015/pager → pager}/pager-input.component.d.ts +5 -2
  41. package/{dist/es2015/pager → pager}/pager-next-buttons.component.d.ts +4 -1
  42. package/{dist/es2015/pager → pager}/pager-numeric-buttons.component.d.ts +7 -4
  43. package/pager/pager-page-sizes.component.d.ts +154 -0
  44. package/{dist/es2015/pager → pager}/pager-prev-buttons.component.d.ts +4 -1
  45. package/{dist/es2015/pager → pager}/pager-template.directive.d.ts +3 -0
  46. package/{dist/es2015/pager → pager}/pager.component.d.ts +9 -5
  47. package/pager/pager.module.d.ts +28 -0
  48. package/{dist/es2015/pager → pager}/pagesize-item.interface.d.ts +0 -0
  49. package/{dist/es2015/pager → pager}/pagesizechange-event.d.ts +0 -0
  50. package/{dist/es2015/pager → pager}/preventable-event.d.ts +0 -0
  51. package/schematics/ngAdd/index.js +5 -2
  52. package/schematics/ngAdd/index.js.map +1 -1
  53. package/{dist/es2015/util.d.ts → util.d.ts} +0 -0
  54. package/dist/cdn/js/kendo-angular-pager.js +0 -20
  55. package/dist/cdn/main.js +0 -5
  56. package/dist/es/index.js +0 -13
  57. package/dist/es/main.js +0 -15
  58. package/dist/es/package-metadata.js +0 -15
  59. package/dist/es/pager/common/constants.js +0 -12
  60. package/dist/es/pager/common/pager-type.js +0 -4
  61. package/dist/es/pager/localization/custom-messages.component.js +0 -44
  62. package/dist/es/pager/localization/localized-messages.directive.js +0 -35
  63. package/dist/es/pager/localization/messages.js +0 -58
  64. package/dist/es/pager/pager-context.service.js +0 -48
  65. package/dist/es/pager/pager-element.component.js +0 -84
  66. package/dist/es/pager/pager-info.component.js +0 -90
  67. package/dist/es/pager/pager-input.component.js +0 -105
  68. package/dist/es/pager/pager-next-buttons.component.js +0 -52
  69. package/dist/es/pager/pager-numeric-buttons.component.js +0 -127
  70. package/dist/es/pager/pager-page-sizes.component.js +0 -226
  71. package/dist/es/pager/pager-prev-buttons.component.js +0 -52
  72. package/dist/es/pager/pager-template.directive.js +0 -62
  73. package/dist/es/pager/pager.component.js +0 -271
  74. package/dist/es/pager/pager.module.js +0 -76
  75. package/dist/es/pager/pagesize-item.interface.js +0 -4
  76. package/dist/es/pager/pagesizechange-event.js +0 -25
  77. package/dist/es/pager/preventable-event.js +0 -29
  78. package/dist/es2015/index.d.ts +0 -13
  79. package/dist/es2015/index.js +0 -13
  80. package/dist/es2015/index.metadata.json +0 -1
  81. package/dist/es2015/pager/change-event-args.interface.js +0 -4
  82. package/dist/es2015/pager/localization/custom-messages.component.js +0 -36
  83. package/dist/es2015/pager/localization/localized-messages.directive.js +0 -31
  84. package/dist/es2015/pager/localization/messages.js +0 -52
  85. package/dist/es2015/pager/pager-info.component.js +0 -74
  86. package/dist/es2015/pager/pager-input.component.js +0 -113
  87. package/dist/es2015/pager/pager-next-buttons.component.js +0 -66
  88. package/dist/es2015/pager/pager-numeric-buttons.component.js +0 -158
  89. package/dist/es2015/pager/pager-page-sizes.component.d.ts +0 -150
  90. package/dist/es2015/pager/pager-prev-buttons.component.js +0 -66
  91. package/dist/fesm5/index.js +0 -1282
  92. package/dist/npm/index.js +0 -21
  93. package/dist/npm/main.js +0 -28
  94. package/dist/npm/package-metadata.js +0 -17
  95. package/dist/npm/pager/change-event-args.interface.js +0 -6
  96. package/dist/npm/pager/common/constants.js +0 -14
  97. package/dist/npm/pager/common/pager-type.js +0 -6
  98. package/dist/npm/pager/localization/custom-messages.component.js +0 -46
  99. package/dist/npm/pager/localization/localized-messages.directive.js +0 -37
  100. package/dist/npm/pager/localization/messages.js +0 -60
  101. package/dist/npm/pager/pager-context.service.js +0 -50
  102. package/dist/npm/pager/pager-element.component.js +0 -86
  103. package/dist/npm/pager/pager-info.component.js +0 -92
  104. package/dist/npm/pager/pager-input.component.js +0 -107
  105. package/dist/npm/pager/pager-next-buttons.component.js +0 -54
  106. package/dist/npm/pager/pager-numeric-buttons.component.js +0 -129
  107. package/dist/npm/pager/pager-page-sizes.component.js +0 -228
  108. package/dist/npm/pager/pager-prev-buttons.component.js +0 -54
  109. package/dist/npm/pager/pager-template.directive.js +0 -64
  110. package/dist/npm/pager/pager.component.js +0 -273
  111. package/dist/npm/pager/pager.module.js +0 -78
  112. package/dist/npm/pager/pagesize-item.interface.js +0 -6
  113. package/dist/npm/pager/pagesizechange-event.js +0 -27
  114. package/dist/npm/pager/preventable-event.js +0 -31
  115. package/dist/npm/util.js +0 -10
  116. package/dist/systemjs/kendo-angular-pager.js +0 -5
@@ -0,0 +1,206 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { ChangeDetectionStrategy, Component, Input, HostBinding } from '@angular/core';
6
+ import { PagerElementComponent } from './pager-element.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@progress/kendo-angular-l10n";
9
+ import * as i2 from "./pager-context.service";
10
+ import * as i3 from "@angular/common";
11
+ /**
12
+ * Displays numeric buttons to enable navigation between the pages.
13
+ */
14
+ export class PagerNumericButtonsComponent extends PagerElementComponent {
15
+ constructor(localization, cd, pagerContext) {
16
+ super(localization, pagerContext, cd);
17
+ this.pagerContext = pagerContext;
18
+ this.numbersWrapClass = true;
19
+ }
20
+ /**
21
+ * @hidden
22
+ *
23
+ * @readonly
24
+ * @type {number[]}
25
+ * @memberOf PagerNumericButtonsComponent
26
+ */
27
+ get buttons() {
28
+ let result = [];
29
+ for (let idx = this.start; idx <= this.end; idx++) {
30
+ result.push(idx);
31
+ }
32
+ return result;
33
+ }
34
+ /**
35
+ * @hidden
36
+ */
37
+ get end() {
38
+ return Math.min((this.start + this.buttonCount) - 1, this.totalPages);
39
+ }
40
+ /**
41
+ * @hidden
42
+ */
43
+ get start() {
44
+ const page = this.currentPage;
45
+ const buttonCount = this.buttonCount;
46
+ if (page > buttonCount) {
47
+ const reminder = (page % buttonCount);
48
+ return (reminder === 0) ? (page - buttonCount) + 1 : (page - reminder) + 1;
49
+ }
50
+ return 1;
51
+ }
52
+ /**
53
+ * @hidden
54
+ */
55
+ pageLabel(num) {
56
+ const pageText = this.textFor('page');
57
+ if (pageText) {
58
+ return pageText + ' ' + num;
59
+ }
60
+ return num.toString();
61
+ }
62
+ /**
63
+ * @hidden
64
+ */
65
+ onSelectChange(e) {
66
+ const target = e.target;
67
+ const valueAsNumber = Number(target.value);
68
+ if (!Number.isNaN(valueAsNumber)) {
69
+ this.changePage(valueAsNumber - 1);
70
+ }
71
+ else {
72
+ if (target.value === 'previousButtons') {
73
+ this.changePage(this.start - 2);
74
+ }
75
+ else {
76
+ this.changePage(this.end);
77
+ }
78
+ }
79
+ }
80
+ onChanges({ total, skip, pageSize }) {
81
+ this.total = total;
82
+ this.skip = skip;
83
+ this.pageSize = pageSize;
84
+ this.cd.markForCheck();
85
+ }
86
+ get pageChooserLabel() {
87
+ return this.textFor('selectPage');
88
+ }
89
+ }
90
+ PagerNumericButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
91
+ PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons", inputs: { buttonCount: "buttonCount" }, host: { properties: { "class.k-pager-numbers-wrap": "this.numbersWrapClass" } }, usesInheritance: true, ngImport: i0, template: `
92
+ <select
93
+ class="k-dropdown-list k-picker k-picker-md k-rounded-md k-picker-solid"
94
+ [attr.title]="pageChooserLabel"
95
+ [attr.aria-label]="pageChooserLabel"
96
+ [value]="(currentPage).toString()"
97
+ (change)="onSelectChange($event)">
98
+ <option *ngIf="start > 1"
99
+ class="k-link"
100
+ value="previousButtons"
101
+ [attr.aria-label]="pageLabel(start - 1)">...
102
+ </option>
103
+ <option *ngFor="let num of buttons"
104
+ [value]="num.toString()"
105
+ [attr.aria-label]="pageLabel(num)"
106
+ [attr.aria-current]="currentPage === num ? 'page' : undefined"
107
+ [ngClass]="{'k-link': true, 'k-state-selected':currentPage === num}">
108
+ {{num}}
109
+ </option>
110
+ <option *ngIf="end < totalPages"
111
+ value="nextButtons"
112
+ class="k-link"
113
+ [attr.aria-label]="pageLabel(end + 1)">...
114
+ </option>
115
+ </select>
116
+ <ul [ngClass]="{'k-pager-numbers': true, 'k-reset': true}">
117
+ <li *ngIf="start > 1">
118
+ <button
119
+ type="button"
120
+ class="k-link"
121
+ [attr.aria-label]="pageLabel(start - 1)"
122
+ (click)="changePage(start - 2)">...</button>
123
+ </li>
124
+ <li *ngFor="let num of buttons">
125
+ <button
126
+ type="button"
127
+ [attr.aria-label]="pageLabel(num)"
128
+ [attr.aria-current]="currentPage === num ? 'page' : undefined"
129
+ [ngClass]="{'k-link': true, 'k-state-selected':currentPage === num}"
130
+ (click)="changePage(num - 1)">
131
+ {{num}}
132
+ </button>
133
+ </li>
134
+ <li *ngIf="end < totalPages">
135
+ <button
136
+ type="button"
137
+ class="k-link"
138
+ [attr.aria-label]="pageLabel(end + 1)"
139
+ (click)="changePage(end)">...</button>
140
+ </li>
141
+ </ul>
142
+ `, isInline: true, directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerNumericButtonsComponent, decorators: [{
144
+ type: Component,
145
+ args: [{
146
+ changeDetection: ChangeDetectionStrategy.OnPush,
147
+ selector: 'kendo-datapager-numeric-buttons',
148
+ template: `
149
+ <select
150
+ class="k-dropdown-list k-picker k-picker-md k-rounded-md k-picker-solid"
151
+ [attr.title]="pageChooserLabel"
152
+ [attr.aria-label]="pageChooserLabel"
153
+ [value]="(currentPage).toString()"
154
+ (change)="onSelectChange($event)">
155
+ <option *ngIf="start > 1"
156
+ class="k-link"
157
+ value="previousButtons"
158
+ [attr.aria-label]="pageLabel(start - 1)">...
159
+ </option>
160
+ <option *ngFor="let num of buttons"
161
+ [value]="num.toString()"
162
+ [attr.aria-label]="pageLabel(num)"
163
+ [attr.aria-current]="currentPage === num ? 'page' : undefined"
164
+ [ngClass]="{'k-link': true, 'k-state-selected':currentPage === num}">
165
+ {{num}}
166
+ </option>
167
+ <option *ngIf="end < totalPages"
168
+ value="nextButtons"
169
+ class="k-link"
170
+ [attr.aria-label]="pageLabel(end + 1)">...
171
+ </option>
172
+ </select>
173
+ <ul [ngClass]="{'k-pager-numbers': true, 'k-reset': true}">
174
+ <li *ngIf="start > 1">
175
+ <button
176
+ type="button"
177
+ class="k-link"
178
+ [attr.aria-label]="pageLabel(start - 1)"
179
+ (click)="changePage(start - 2)">...</button>
180
+ </li>
181
+ <li *ngFor="let num of buttons">
182
+ <button
183
+ type="button"
184
+ [attr.aria-label]="pageLabel(num)"
185
+ [attr.aria-current]="currentPage === num ? 'page' : undefined"
186
+ [ngClass]="{'k-link': true, 'k-state-selected':currentPage === num}"
187
+ (click)="changePage(num - 1)">
188
+ {{num}}
189
+ </button>
190
+ </li>
191
+ <li *ngIf="end < totalPages">
192
+ <button
193
+ type="button"
194
+ class="k-link"
195
+ [attr.aria-label]="pageLabel(end + 1)"
196
+ (click)="changePage(end)">...</button>
197
+ </li>
198
+ </ul>
199
+ `
200
+ }]
201
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { numbersWrapClass: [{
202
+ type: HostBinding,
203
+ args: ['class.k-pager-numbers-wrap']
204
+ }], buttonCount: [{
205
+ type: Input
206
+ }] } });
@@ -2,25 +2,22 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Component, ChangeDetectorRef, ChangeDetectionStrategy, HostBinding, Input, ViewChild } from '@angular/core';
5
+ import { Component, ChangeDetectionStrategy, HostBinding, Input, ViewChild } from '@angular/core';
7
6
  import { PagerElementComponent } from './pager-element.component';
8
- import { LocalizationService } from '@progress/kendo-angular-l10n';
9
- import { PagerContextService } from "./pager-context.service";
10
7
  import { PageSizeChangeEvent } from './pagesizechange-event';
11
- import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@progress/kendo-angular-l10n";
10
+ import * as i2 from "./pager-context.service";
11
+ import * as i3 from "@progress/kendo-angular-dropdowns";
12
12
  /**
13
13
  * Displays a drop-down list for the page size selection ([see example]({% slug pager_settings %})).
14
14
  */
15
- let PagerPageSizesComponent = class PagerPageSizesComponent extends PagerElementComponent {
15
+ export class PagerPageSizesComponent extends PagerElementComponent {
16
16
  constructor(localization, cd, pagerContext) {
17
17
  super(localization, pagerContext, cd);
18
18
  this.pagerContext = pagerContext;
19
19
  this._pageSizes = [];
20
20
  }
21
- get pageSizes() {
22
- return this._pageSizes;
23
- }
24
21
  /**
25
22
  * The page sizes collection. Can contain numbers and [PageSizeItem]({% slug api_pager_pagesizeitem %}) objects.
26
23
  *
@@ -141,22 +138,27 @@ let PagerPageSizesComponent = class PagerPageSizesComponent extends PagerElement
141
138
  */
142
139
  set pageSizes(pageSizes) {
143
140
  let normalizedItems = [];
144
- pageSizes.forEach(item => {
145
- if (typeof item === 'number') {
146
- normalizedItems.push({
147
- text: item.toString(),
148
- value: item
149
- });
150
- }
151
- else {
152
- normalizedItems.push(item);
153
- }
154
- });
141
+ if (Array.isArray(pageSizes)) {
142
+ pageSizes.forEach(item => {
143
+ if (typeof item === 'number') {
144
+ normalizedItems.push({
145
+ text: item.toString(),
146
+ value: item
147
+ });
148
+ }
149
+ else {
150
+ normalizedItems.push(item);
151
+ }
152
+ });
153
+ }
155
154
  if (this.pageSize && !normalizedItems.some(item => item.value === this.pageSize)) {
156
155
  normalizedItems = [{ text: this.pageSize.toString(), value: this.pageSize }, ...normalizedItems];
157
156
  }
158
157
  this._pageSizes = normalizedItems;
159
158
  }
159
+ get pageSizes() {
160
+ return this._pageSizes;
161
+ }
160
162
  /**
161
163
  * @hidden
162
164
  *
@@ -184,27 +186,25 @@ let PagerPageSizesComponent = class PagerPageSizesComponent extends PagerElement
184
186
  this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
185
187
  this.cd.markForCheck();
186
188
  }
187
- };
188
- tslib_1.__decorate([
189
- ViewChild('dropdownlist', { static: true }),
190
- tslib_1.__metadata("design:type", DropDownListComponent)
191
- ], PagerPageSizesComponent.prototype, "dropDownList", void 0);
192
- tslib_1.__decorate([
193
- Input(),
194
- tslib_1.__metadata("design:type", Array),
195
- tslib_1.__metadata("design:paramtypes", [Array])
196
- ], PagerPageSizesComponent.prototype, "pageSizes", null);
197
- tslib_1.__decorate([
198
- HostBinding("class.k-pager-sizes"),
199
- HostBinding("class.k-label"),
200
- tslib_1.__metadata("design:type", Boolean),
201
- tslib_1.__metadata("design:paramtypes", [])
202
- ], PagerPageSizesComponent.prototype, "classes", null);
203
- PagerPageSizesComponent = tslib_1.__decorate([
204
- Component({
205
- changeDetection: ChangeDetectionStrategy.OnPush,
206
- selector: 'kendo-datapager-page-sizes',
207
- template: `
189
+ }
190
+ PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
191
+ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PagerPageSizesComponent, selector: "kendo-datapager-page-sizes", inputs: { pageSizes: "pageSizes" }, host: { properties: { "class.k-pager-sizes": "this.classes", "class.k-label": "this.classes" } }, viewQueries: [{ propertyName: "dropDownList", first: true, predicate: ["dropdownlist"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
192
+ <kendo-dropdownlist
193
+ #dropdownlist
194
+ [data]="pageSizes"
195
+ textField="text"
196
+ valueField="value"
197
+ [valuePrimitive]="true"
198
+ [value]="pageSize"
199
+ (valueChange)="pageSizeChange($event, dropdownlist)"></kendo-dropdownlist>
200
+ {{ textFor('itemsPerPage') }}
201
+ `, isInline: true, components: [{ type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
203
+ type: Component,
204
+ args: [{
205
+ changeDetection: ChangeDetectionStrategy.OnPush,
206
+ selector: 'kendo-datapager-page-sizes',
207
+ template: `
208
208
  <kendo-dropdownlist
209
209
  #dropdownlist
210
210
  [data]="pageSizes"
@@ -215,9 +215,16 @@ PagerPageSizesComponent = tslib_1.__decorate([
215
215
  (valueChange)="pageSizeChange($event, dropdownlist)"></kendo-dropdownlist>
216
216
  {{ textFor('itemsPerPage') }}
217
217
  `
218
- }),
219
- tslib_1.__metadata("design:paramtypes", [LocalizationService,
220
- ChangeDetectorRef,
221
- PagerContextService])
222
- ], PagerPageSizesComponent);
223
- export { PagerPageSizesComponent };
218
+ }]
219
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { dropDownList: [{
220
+ type: ViewChild,
221
+ args: ['dropdownlist', { static: true }]
222
+ }], pageSizes: [{
223
+ type: Input
224
+ }], classes: [{
225
+ type: HostBinding,
226
+ args: ["class.k-pager-sizes"]
227
+ }, {
228
+ type: HostBinding,
229
+ args: ["class.k-label"]
230
+ }] } });
@@ -0,0 +1,86 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ // eslint-disable no-access-missing-member
6
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
7
+ import { PagerElementComponent } from './pager-element.component';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@progress/kendo-angular-l10n";
10
+ import * as i2 from "./pager-context.service";
11
+ /**
12
+ * Displays buttons for navigating to the first and to the previous page ([see example]({% slug pager_settings %})).
13
+ */
14
+ export class PagerPrevButtonsComponent extends PagerElementComponent {
15
+ constructor(localization, pagerContext, cd) {
16
+ super(localization, pagerContext, cd);
17
+ }
18
+ /**
19
+ * @hidden
20
+ *
21
+ * @readonly
22
+ * @type {boolean}
23
+ * @memberOf PagerPrevButtonsComponent
24
+ */
25
+ get disabled() {
26
+ return this.currentPage === 1 || !this.total;
27
+ }
28
+ onChanges({ total, skip, pageSize }) {
29
+ this.total = total;
30
+ this.skip = skip;
31
+ this.pageSize = pageSize;
32
+ this.cd.markForCheck();
33
+ }
34
+ }
35
+ PagerPrevButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerPrevButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
36
+ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons", usesInheritance: true, ngImport: i0, template: `
37
+ <button
38
+ type="button"
39
+ class="k-link k-pager-nav k-pager-first"
40
+ [class.k-disabled]="disabled"
41
+ [title]="textFor('firstPage')"
42
+ [attr.aria-label]="textFor('firstPage')"
43
+ [attr.aria-disabled]="disabled ? true : undefined"
44
+ (click)="currentPage !== 1 ? changePage(0) : false">
45
+ <span class="k-icon k-i-seek-w" role="note" [attr.aria-label]="textFor('firstPage')"></span>
46
+ </button>
47
+ <button
48
+ type="button"
49
+ class="k-link k-pager-nav"
50
+ [class.k-disabled]="disabled"
51
+ [title]="textFor('previousPage')"
52
+ [attr.aria-label]="textFor('previousPage')"
53
+ [attr.aria-disabled]="disabled ? true : undefined"
54
+ (click)="currentPage !== 1 ? changePage(currentPage-2) : false">
55
+ <span class="k-icon k-i-arrow-w" role="note" [attr.aria-label]="textFor('previousPage')"></span>
56
+ </button>
57
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
59
+ type: Component,
60
+ args: [{
61
+ changeDetection: ChangeDetectionStrategy.OnPush,
62
+ selector: 'kendo-datapager-prev-buttons',
63
+ template: `
64
+ <button
65
+ type="button"
66
+ class="k-link k-pager-nav k-pager-first"
67
+ [class.k-disabled]="disabled"
68
+ [title]="textFor('firstPage')"
69
+ [attr.aria-label]="textFor('firstPage')"
70
+ [attr.aria-disabled]="disabled ? true : undefined"
71
+ (click)="currentPage !== 1 ? changePage(0) : false">
72
+ <span class="k-icon k-i-seek-w" role="note" [attr.aria-label]="textFor('firstPage')"></span>
73
+ </button>
74
+ <button
75
+ type="button"
76
+ class="k-link k-pager-nav"
77
+ [class.k-disabled]="disabled"
78
+ [title]="textFor('previousPage')"
79
+ [attr.aria-label]="textFor('previousPage')"
80
+ [attr.aria-disabled]="disabled ? true : undefined"
81
+ (click)="currentPage !== 1 ? changePage(currentPage-2) : false">
82
+ <span class="k-icon k-i-arrow-w" role="note" [attr.aria-label]="textFor('previousPage')"></span>
83
+ </button>
84
+ `
85
+ }]
86
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i0.ChangeDetectorRef }]; } });
@@ -2,8 +2,8 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Directive, TemplateRef, Optional } from '@angular/core';
5
+ import { Directive, Optional } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Represents the pager template which helps to customize the pager appearance. To define a pager
9
9
  * template, nest an `<ng-template>` tag with the `kendoDataPagerTemplate` directive inside `<kendo-datapager>`.
@@ -46,16 +46,18 @@ import { Directive, TemplateRef, Optional } from '@angular/core';
46
46
  *
47
47
  * ```
48
48
  */
49
- let PagerTemplateDirective = class PagerTemplateDirective {
49
+ export class PagerTemplateDirective {
50
50
  constructor(templateRef) {
51
51
  this.templateRef = templateRef;
52
52
  }
53
- };
54
- PagerTemplateDirective = tslib_1.__decorate([
55
- Directive({
56
- selector: '[kendoDataPagerTemplate]'
57
- }),
58
- tslib_1.__param(0, Optional()),
59
- tslib_1.__metadata("design:paramtypes", [TemplateRef])
60
- ], PagerTemplateDirective);
61
- export { PagerTemplateDirective };
53
+ }
54
+ PagerTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
55
+ PagerTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PagerTemplateDirective, selector: "[kendoDataPagerTemplate]", ngImport: i0 });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerTemplateDirective, decorators: [{
57
+ type: Directive,
58
+ args: [{
59
+ selector: '[kendoDataPagerTemplate]'
60
+ }]
61
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
62
+ type: Optional
63
+ }] }]; } });