@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
@@ -1,1282 +0,0 @@
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 { __extends, __decorate, __metadata, __param } from 'tslib';
6
- import { Input, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild, HostBinding, Directive, Optional, TemplateRef, NgZone, ContentChild, Output, EventEmitter, ElementRef, NgModule } from '@angular/core';
7
- import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
8
- import { Subject, Subscription } from 'rxjs';
9
- import { DropDownListComponent, DropDownListModule } from '@progress/kendo-angular-dropdowns';
10
- import { NumericTextBoxComponent, NumericTextBoxModule } from '@progress/kendo-angular-inputs';
11
- import { Keys, anyChanged, ResizeSensorComponent, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
12
- import { validatePackage } from '@progress/kendo-licensing';
13
- import { CommonModule } from '@angular/common';
14
-
15
- /**
16
- * @hidden
17
- */
18
- var PreventableEvent = /** @class */ (function () {
19
- function PreventableEvent() {
20
- this.prevented = false;
21
- }
22
- /**
23
- * Prevents the default action for a specified event.
24
- * In this way, the source component suppresses the built-in behavior that follows the event.
25
- */
26
- PreventableEvent.prototype.preventDefault = function () {
27
- this.prevented = true;
28
- };
29
- /**
30
- * If the event is prevented by any of its subscribers, returns `true`.
31
- *
32
- * @returns `true` if the default action was prevented. Otherwise, returns `false`.
33
- */
34
- PreventableEvent.prototype.isDefaultPrevented = function () {
35
- return this.prevented;
36
- };
37
- return PreventableEvent;
38
- }());
39
-
40
- /**
41
- * Arguments for the `pageSizeChange` event. The `pageSizeChange` event fires when the page size
42
- * is changed from the UI. If you cancel the event, the change is prevented.
43
- */
44
- var PageSizeChangeEvent = /** @class */ (function (_super) {
45
- __extends(PageSizeChangeEvent, _super);
46
- /**
47
- * Constructs the event arguments for the `pageSizeChange` event.
48
- * @param newPageSize - The newly selected page size.
49
- * @hidden
50
- */
51
- function PageSizeChangeEvent(newPageSize) {
52
- var _this = _super.call(this) || this;
53
- _this.newPageSize = newPageSize;
54
- return _this;
55
- }
56
- return PageSizeChangeEvent;
57
- }(PreventableEvent));
58
-
59
- /**
60
- * @hidden
61
- */
62
- var Messages = /** @class */ (function (_super) {
63
- __extends(Messages, _super);
64
- function Messages() {
65
- return _super !== null && _super.apply(this, arguments) || this;
66
- }
67
- __decorate([
68
- Input(),
69
- __metadata("design:type", String)
70
- ], Messages.prototype, "firstPage", void 0);
71
- __decorate([
72
- Input(),
73
- __metadata("design:type", String)
74
- ], Messages.prototype, "lastPage", void 0);
75
- __decorate([
76
- Input(),
77
- __metadata("design:type", String)
78
- ], Messages.prototype, "previousPage", void 0);
79
- __decorate([
80
- Input(),
81
- __metadata("design:type", String)
82
- ], Messages.prototype, "nextPage", void 0);
83
- __decorate([
84
- Input(),
85
- __metadata("design:type", String)
86
- ], Messages.prototype, "page", void 0);
87
- __decorate([
88
- Input(),
89
- __metadata("design:type", String)
90
- ], Messages.prototype, "pageNumberInputTitle", void 0);
91
- __decorate([
92
- Input(),
93
- __metadata("design:type", String)
94
- ], Messages.prototype, "itemsPerPage", void 0);
95
- __decorate([
96
- Input(),
97
- __metadata("design:type", String)
98
- ], Messages.prototype, "of", void 0);
99
- __decorate([
100
- Input(),
101
- __metadata("design:type", String)
102
- ], Messages.prototype, "items", void 0);
103
- __decorate([
104
- Input(),
105
- __metadata("design:type", String)
106
- ], Messages.prototype, "selectPage", void 0);
107
- return Messages;
108
- }(ComponentMessages));
109
-
110
- /**
111
- * Custom component messages override default component messages
112
- * ([see example]({% slug pager_globalization %}#toc-messages)).
113
- */
114
- var CustomMessagesComponent = /** @class */ (function (_super) {
115
- __extends(CustomMessagesComponent, _super);
116
- function CustomMessagesComponent(service) {
117
- var _this = _super.call(this) || this;
118
- _this.service = service;
119
- return _this;
120
- }
121
- CustomMessagesComponent_1 = CustomMessagesComponent;
122
- Object.defineProperty(CustomMessagesComponent.prototype, "override", {
123
- get: function () {
124
- return true;
125
- },
126
- enumerable: true,
127
- configurable: true
128
- });
129
- var CustomMessagesComponent_1;
130
- CustomMessagesComponent = CustomMessagesComponent_1 = __decorate([
131
- Component({
132
- providers: [
133
- {
134
- provide: Messages,
135
- useExisting: forwardRef(function () { return CustomMessagesComponent_1; })
136
- }
137
- ],
138
- selector: 'kendo-datapager-messages',
139
- template: ""
140
- }),
141
- __metadata("design:paramtypes", [LocalizationService])
142
- ], CustomMessagesComponent);
143
- return CustomMessagesComponent;
144
- }(Messages));
145
-
146
- /**
147
- * @hidden
148
- */
149
- var PagerContextService = /** @class */ (function () {
150
- function PagerContextService() {
151
- this.changes = new Subject();
152
- this.pageChange = new Subject();
153
- this.pageSizeChange = new Subject();
154
- }
155
- Object.defineProperty(PagerContextService.prototype, "currentPage", {
156
- get: function () {
157
- return this.skip / this.pageSize;
158
- },
159
- enumerable: true,
160
- configurable: true
161
- });
162
- PagerContextService.prototype.notifyChanges = function (changes) {
163
- this.total = changes.total;
164
- this.pageSize = changes.pageSize;
165
- this.skip = changes.skip;
166
- this.changes.next(changes);
167
- };
168
- PagerContextService.prototype.changePage = function (page) {
169
- this.pageChange.next({ skip: page * this.pageSize, take: this.pageSize });
170
- };
171
- PagerContextService.prototype.changePageSize = function (event) {
172
- this.pageSizeChange.next(event);
173
- };
174
- PagerContextService.prototype.nextPage = function () {
175
- var nextPage = this.currentPage + 1;
176
- if (nextPage * this.pageSize <= this.total) {
177
- this.changePage(nextPage);
178
- }
179
- };
180
- PagerContextService.prototype.prevPage = function () {
181
- var prevPage = this.currentPage - 1;
182
- if (prevPage * this.pageSize >= 0) {
183
- this.changePage(prevPage);
184
- }
185
- };
186
- return PagerContextService;
187
- }());
188
-
189
- /**
190
- * @hidden
191
- */
192
- var PagerElementComponent = /** @class */ (function () {
193
- function PagerElementComponent(localization, pagerContext, cd) {
194
- this.localization = localization;
195
- this.pagerContext = pagerContext;
196
- this.cd = cd;
197
- this.total = this.pagerContext.total;
198
- this.skip = this.pagerContext.skip;
199
- this.pageSize = this.pagerContext.pageSize;
200
- }
201
- Object.defineProperty(PagerElementComponent.prototype, "currentPage", {
202
- /**
203
- * @hidden
204
- *
205
- * @readonly
206
- * @type {number}
207
- * @memberOf PagerElementComponent
208
- */
209
- get: function () {
210
- return Math.floor((this.skip || 0) / this.pageSize) + 1;
211
- },
212
- enumerable: true,
213
- configurable: true
214
- });
215
- Object.defineProperty(PagerElementComponent.prototype, "totalPages", {
216
- /**
217
- * @hidden
218
- *
219
- * @readonly
220
- * @type {number}
221
- * @memberOf PagerElementComponent
222
- */
223
- get: function () {
224
- return Math.ceil((this.total || 0) / this.pageSize);
225
- },
226
- enumerable: true,
227
- configurable: true
228
- });
229
- /**
230
- * @hidden
231
- *
232
- * @param {string} key
233
- * @returns {string}
234
- *
235
- * @memberOf PagerElementComponent
236
- */
237
- PagerElementComponent.prototype.textFor = function (key) {
238
- return this.localization.get(key);
239
- };
240
- /**
241
- * @hidden
242
- *
243
- * @param {number} page
244
- *
245
- * @memberOf PagerElementComponent
246
- */
247
- PagerElementComponent.prototype.changePage = function (page) {
248
- this.pagerContext.changePage(page);
249
- return false;
250
- };
251
- /**
252
- * @hidden
253
- *
254
- * @memberOf PagerElementComponent
255
- */
256
- PagerElementComponent.prototype.ngOnInit = function () {
257
- var _this = this;
258
- this.subscriptions = this.pagerContext.changes.subscribe(this.onChanges.bind(this));
259
- this.subscriptions.add(this.localization.changes.subscribe(function () { return _this.cd.markForCheck(); }));
260
- };
261
- PagerElementComponent.prototype.ngOnDestroy = function () {
262
- if (this.subscriptions) {
263
- this.subscriptions.unsubscribe();
264
- }
265
- };
266
- return PagerElementComponent;
267
- }());
268
-
269
- /**
270
- * Displays buttons for navigating to the first and to the previous page ([see example]({% slug pager_settings %})).
271
- */
272
- var PagerPrevButtonsComponent = /** @class */ (function (_super) {
273
- __extends(PagerPrevButtonsComponent, _super);
274
- function PagerPrevButtonsComponent(localization, pagerContext, cd) {
275
- return _super.call(this, localization, pagerContext, cd) || this;
276
- }
277
- Object.defineProperty(PagerPrevButtonsComponent.prototype, "disabled", {
278
- /**
279
- * @hidden
280
- *
281
- * @readonly
282
- * @type {boolean}
283
- * @memberOf PagerPrevButtonsComponent
284
- */
285
- get: function () {
286
- return this.currentPage === 1 || !this.total;
287
- },
288
- enumerable: true,
289
- configurable: true
290
- });
291
- PagerPrevButtonsComponent.prototype.onChanges = function (_a) {
292
- var total = _a.total, skip = _a.skip, pageSize = _a.pageSize;
293
- this.total = total;
294
- this.skip = skip;
295
- this.pageSize = pageSize;
296
- this.cd.markForCheck();
297
- };
298
- PagerPrevButtonsComponent = __decorate([
299
- Component({
300
- changeDetection: ChangeDetectionStrategy.OnPush,
301
- selector: 'kendo-datapager-prev-buttons',
302
- template: "\n <button\n type=\"button\"\n class=\"k-link k-pager-nav k-pager-first\"\n [class.k-disabled]=\"disabled\"\n [title]=\"textFor('firstPage')\"\n [attr.aria-label]=\"textFor('firstPage')\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n (click)=\"currentPage !== 1 ? changePage(0) : false\">\n <span class=\"k-icon k-i-seek-w\" role=\"note\" [attr.aria-label]=\"textFor('firstPage')\"></span>\n </button>\n <button\n type=\"button\"\n class=\"k-link k-pager-nav\"\n [class.k-disabled]=\"disabled\"\n [title]=\"textFor('previousPage')\"\n [attr.aria-label]=\"textFor('previousPage')\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n (click)=\"currentPage !== 1 ? changePage(currentPage-2) : false\">\n <span class=\"k-icon k-i-arrow-w\" role=\"note\" [attr.aria-label]=\"textFor('previousPage')\"></span>\n </button>\n "
303
- }),
304
- __metadata("design:paramtypes", [LocalizationService,
305
- PagerContextService,
306
- ChangeDetectorRef])
307
- ], PagerPrevButtonsComponent);
308
- return PagerPrevButtonsComponent;
309
- }(PagerElementComponent));
310
-
311
- /**
312
- * Displays a drop-down list for the page size selection ([see example]({% slug pager_settings %})).
313
- */
314
- var PagerPageSizesComponent = /** @class */ (function (_super) {
315
- __extends(PagerPageSizesComponent, _super);
316
- function PagerPageSizesComponent(localization, cd, pagerContext) {
317
- var _this = _super.call(this, localization, pagerContext, cd) || this;
318
- _this.pagerContext = pagerContext;
319
- _this._pageSizes = [];
320
- return _this;
321
- }
322
- Object.defineProperty(PagerPageSizesComponent.prototype, "pageSizes", {
323
- get: function () {
324
- return this._pageSizes;
325
- },
326
- /**
327
- * The page sizes collection. Can contain numbers and [PageSizeItem]({% slug api_pager_pagesizeitem %}) objects.
328
- *
329
- * @example
330
- * {% meta height:400 %}
331
- * ```ts-preview
332
- * _@Component({
333
- * selector: 'my-app',
334
- * template: `
335
- * <div *ngFor="let item of pagedData" style="border: 1px solid black; padding: 10px;">
336
- * <span>{{item.ProductID}}. </span>
337
- * <span>{{item.ProductName}}</span>
338
- * </div>
339
- * <kendo-datapager
340
- * [skip]="skip"
341
- * [pageSize]="pageSize"
342
- * [total]="total"
343
- * (pageChange)="onPageChange($event)">
344
- * <ng-template kendoDataPagerTemplate>
345
- * <kendo-datapager-page-sizes [pageSizes]="pagesizes"></kendo-datapager-page-sizes>
346
- * </ng-template>
347
- * </kendo-datapager>
348
- * `
349
- * })
350
- * class AppComponent {
351
- * public data: any[] = products;
352
- * public pagedData = [];
353
- * public skip = 0;
354
- * public pageSize = 2;
355
- * public total = products.length;
356
- * public pagesizes = [{text: 'One', value: 1}, {text: 'Two', value: 2}, {text: 'All', value : 'all'}];
357
- *
358
- * public ngOnInit() {
359
- * this.pageData();
360
- * }
361
- *
362
- * public onPageChange(e) {
363
- * this.skip = e.skip;
364
- * this.pageSize = e.take;
365
- * this.pageData();
366
- * }
367
- *
368
- * private pageData() {
369
- * this.pagedData = this.data.slice(this.skip, this.skip + this.pageSize);
370
- * }
371
- * }
372
- *
373
- * const products = [{
374
- * 'ProductID' : 1,
375
- * 'ProductName' : "Chai",
376
- * 'SupplierID' : 1,
377
- * 'CategoryID' : 1,
378
- * 'QuantityPerUnit' : "10 boxes x 20 bags",
379
- * 'UnitPrice' : 18.0000,
380
- * 'UnitsInStock' : 39,
381
- * 'UnitsOnOrder' : 0,
382
- * 'ReorderLevel' : 10,
383
- * 'Discontinued' : false
384
- *
385
- * }, {
386
- * 'ProductID' : 2,
387
- * 'ProductName' : "Chang",
388
- * 'SupplierID' : 1,
389
- * 'CategoryID' : 1,
390
- * 'QuantityPerUnit' : "24 - 12 oz bottles",
391
- * 'UnitPrice' : 19.0000,
392
- * 'UnitsInStock' : 17,
393
- * 'UnitsOnOrder' : 40,
394
- * 'ReorderLevel' : 25,
395
- * 'Discontinued' : false
396
- * }, {
397
- * 'ProductID' : 3,
398
- * 'ProductName' : "Aniseed Syrup",
399
- * 'SupplierID' : 1,
400
- * 'CategoryID' : 2,
401
- * 'QuantityPerUnit' : "12 - 550 ml bottles",
402
- * 'UnitPrice' : 10.0000,
403
- * 'UnitsInStock' : 13,
404
- * 'UnitsOnOrder' : 70,
405
- * 'ReorderLevel' : 25,
406
- * 'Discontinued' : false
407
- * }, {
408
- * 'ProductID' : 4,
409
- * 'ProductName' : "Chef Anton\'s Cajun Seasoning",
410
- * 'SupplierID' : 2,
411
- * 'CategoryID' : 2,
412
- * 'QuantityPerUnit' : "48 - 6 oz jars",
413
- * 'UnitPrice' : 22.0000,
414
- * 'UnitsInStock' : 53,
415
- * 'UnitsOnOrder' : 0,
416
- * 'ReorderLevel' : 0,
417
- * 'Discontinued' : false
418
- * }, {
419
- * 'ProductID' : 5,
420
- * 'ProductName' : "Chef Anton\'s Gumbo Mix",
421
- * 'SupplierID' : 2,
422
- * 'CategoryID' : 2,
423
- * 'QuantityPerUnit' : "36 boxes",
424
- * 'UnitPrice' : 21.3500,
425
- * 'UnitsInStock' : 0,
426
- * 'UnitsOnOrder' : 0,
427
- * 'ReorderLevel' : 0,
428
- * 'Discontinued' : true
429
- * }, {
430
- * 'ProductID' : 6,
431
- * 'ProductName' : "Grandma\'s Boysenberry Spread",
432
- * 'SupplierID' : 3,
433
- * 'CategoryID' : 2,
434
- * 'QuantityPerUnit' : "12 - 8 oz jars",
435
- * 'UnitPrice' : 25.0000,
436
- * 'UnitsInStock' : 120,
437
- * 'UnitsOnOrder' : 0,
438
- * 'ReorderLevel' : 25,
439
- * 'Discontinued' : false
440
- * }];
441
- * ```
442
- * {% endmeta %}
443
- */
444
- set: function (pageSizes) {
445
- var _this = this;
446
- var normalizedItems = [];
447
- pageSizes.forEach(function (item) {
448
- if (typeof item === 'number') {
449
- normalizedItems.push({
450
- text: item.toString(),
451
- value: item
452
- });
453
- }
454
- else {
455
- normalizedItems.push(item);
456
- }
457
- });
458
- if (this.pageSize && !normalizedItems.some(function (item) { return item.value === _this.pageSize; })) {
459
- normalizedItems = [{ text: this.pageSize.toString(), value: this.pageSize }].concat(normalizedItems);
460
- }
461
- this._pageSizes = normalizedItems;
462
- },
463
- enumerable: true,
464
- configurable: true
465
- });
466
- Object.defineProperty(PagerPageSizesComponent.prototype, "classes", {
467
- /**
468
- * @hidden
469
- *
470
- * @readonly
471
- */
472
- get: function () {
473
- return true;
474
- },
475
- enumerable: true,
476
- configurable: true
477
- });
478
- PagerPageSizesComponent.prototype.ngAfterViewInit = function () {
479
- this.dropDownList.wrapper.nativeElement.setAttribute('aria-label', this.textFor('itemsPerPage'));
480
- };
481
- /**
482
- * @hidden
483
- */
484
- PagerPageSizesComponent.prototype.pageSizeChange = function (value, dropdownlist) {
485
- var event = new PageSizeChangeEvent(value);
486
- this.pagerContext.changePageSize(event);
487
- if (event.isDefaultPrevented()) {
488
- dropdownlist.writeValue(this.pageSize);
489
- }
490
- };
491
- PagerPageSizesComponent.prototype.onChanges = function (_a) {
492
- var total = _a.total, skip = _a.skip, pageSize = _a.pageSize;
493
- this.total = total;
494
- this.skip = skip;
495
- this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
496
- this.cd.markForCheck();
497
- };
498
- __decorate([
499
- ViewChild('dropdownlist', { static: true }),
500
- __metadata("design:type", DropDownListComponent)
501
- ], PagerPageSizesComponent.prototype, "dropDownList", void 0);
502
- __decorate([
503
- Input(),
504
- __metadata("design:type", Array),
505
- __metadata("design:paramtypes", [Array])
506
- ], PagerPageSizesComponent.prototype, "pageSizes", null);
507
- __decorate([
508
- HostBinding("class.k-pager-sizes"),
509
- HostBinding("class.k-label"),
510
- __metadata("design:type", Boolean),
511
- __metadata("design:paramtypes", [])
512
- ], PagerPageSizesComponent.prototype, "classes", null);
513
- PagerPageSizesComponent = __decorate([
514
- Component({
515
- changeDetection: ChangeDetectionStrategy.OnPush,
516
- selector: 'kendo-datapager-page-sizes',
517
- template: "\n <kendo-dropdownlist\n #dropdownlist\n [data]=\"pageSizes\"\n textField=\"text\"\n valueField=\"value\"\n [valuePrimitive]=\"true\"\n [value]=\"pageSize\"\n (valueChange)=\"pageSizeChange($event, dropdownlist)\"></kendo-dropdownlist>\n {{ textFor('itemsPerPage') }}\n "
518
- }),
519
- __metadata("design:paramtypes", [LocalizationService,
520
- ChangeDetectorRef,
521
- PagerContextService])
522
- ], PagerPageSizesComponent);
523
- return PagerPageSizesComponent;
524
- }(PagerElementComponent));
525
-
526
- /**
527
- * Represents the pager template which helps to customize the pager appearance. To define a pager
528
- * template, nest an `<ng-template>` tag with the `kendoDataPagerTemplate` directive inside `<kendo-datapager>`.
529
- *
530
- * The template context provides the following fields:
531
- * * `currentPage`&mdash;The index of the displayed page.
532
- * * `pageSize`&mdash;The value of the current `pageSize`.
533
- * * `skip`&mdash;The current skip value.
534
- * * `total`&mdash;The total number of records.
535
- * * `totalPages`&mdash;The total number of available pages.
536
- *
537
- * @example
538
- * ```ts-preview
539
- *
540
- * _@Component({
541
- * selector: 'my-app',
542
- * template: `
543
- * <kendo-datapager [total]="total" [pageSize]="pageSize" [skip]="skip" (pageChange)="onPageChange($event)">
544
- * <ng-template kendoDataPagerTemplate let-totalPages="totalPages" let-currentPage="currentPage">
545
- * <kendo-datapager-prev-buttons></kendo-datapager-prev-buttons>
546
- * <kendo-datapager-numeric-buttons [buttonCount]="10"></kendo-datapager-numeric-buttons>
547
- * <kendo-datapager-next-buttons></kendo-datapager-next-buttons>
548
- * <kendo-datapager-info></kendo-datapager-info>
549
- * Current page: {{currentPage}}
550
- * </ng-template>
551
- * </kendo-datapager>
552
- * `
553
- * })
554
- *
555
- * class AppComponent {
556
- * public skip = 0;
557
- * public pageSize = 10;
558
- * public total = 100;
559
- *
560
- * public onPageChange(e: any): void {
561
- * this.skip = e.skip;
562
- * this.pageSize = e.take;
563
- * }
564
- * }
565
- *
566
- * ```
567
- */
568
- var PagerTemplateDirective = /** @class */ (function () {
569
- function PagerTemplateDirective(templateRef) {
570
- this.templateRef = templateRef;
571
- }
572
- PagerTemplateDirective = __decorate([
573
- Directive({
574
- selector: '[kendoDataPagerTemplate]'
575
- }),
576
- __param(0, Optional()),
577
- __metadata("design:paramtypes", [TemplateRef])
578
- ], PagerTemplateDirective);
579
- return PagerTemplateDirective;
580
- }());
581
-
582
- /**
583
- * Displays numeric buttons to enable navigation between the pages.
584
- */
585
- var PagerNumericButtonsComponent = /** @class */ (function (_super) {
586
- __extends(PagerNumericButtonsComponent, _super);
587
- function PagerNumericButtonsComponent(localization, cd, pagerContext) {
588
- var _this = _super.call(this, localization, pagerContext, cd) || this;
589
- _this.pagerContext = pagerContext;
590
- _this.numbersWrapClass = true;
591
- return _this;
592
- }
593
- Object.defineProperty(PagerNumericButtonsComponent.prototype, "buttons", {
594
- /**
595
- * @hidden
596
- *
597
- * @readonly
598
- * @type {number[]}
599
- * @memberOf PagerNumericButtonsComponent
600
- */
601
- get: function () {
602
- var result = [];
603
- for (var idx = this.start; idx <= this.end; idx++) {
604
- result.push(idx);
605
- }
606
- return result;
607
- },
608
- enumerable: true,
609
- configurable: true
610
- });
611
- Object.defineProperty(PagerNumericButtonsComponent.prototype, "end", {
612
- /**
613
- * @hidden
614
- */
615
- get: function () {
616
- return Math.min((this.start + this.buttonCount) - 1, this.totalPages);
617
- },
618
- enumerable: true,
619
- configurable: true
620
- });
621
- Object.defineProperty(PagerNumericButtonsComponent.prototype, "start", {
622
- /**
623
- * @hidden
624
- */
625
- get: function () {
626
- var page = this.currentPage;
627
- var buttonCount = this.buttonCount;
628
- if (page > buttonCount) {
629
- var reminder = (page % buttonCount);
630
- return (reminder === 0) ? (page - buttonCount) + 1 : (page - reminder) + 1;
631
- }
632
- return 1;
633
- },
634
- enumerable: true,
635
- configurable: true
636
- });
637
- /**
638
- * @hidden
639
- */
640
- PagerNumericButtonsComponent.prototype.pageLabel = function (num) {
641
- var pageText = this.textFor('page');
642
- if (pageText) {
643
- return pageText + ' ' + num;
644
- }
645
- return num.toString();
646
- };
647
- /**
648
- * @hidden
649
- */
650
- PagerNumericButtonsComponent.prototype.onSelectChange = function (e) {
651
- var target = e.target;
652
- var valueAsNumber = Number(target.value);
653
- if (!Number.isNaN(valueAsNumber)) {
654
- this.changePage(valueAsNumber - 1);
655
- }
656
- else {
657
- if (target.value === 'previousButtons') {
658
- this.changePage(this.start - 2);
659
- }
660
- else {
661
- this.changePage(this.end);
662
- }
663
- }
664
- };
665
- PagerNumericButtonsComponent.prototype.onChanges = function (_a) {
666
- var total = _a.total, skip = _a.skip, pageSize = _a.pageSize;
667
- this.total = total;
668
- this.skip = skip;
669
- this.pageSize = pageSize;
670
- this.cd.markForCheck();
671
- };
672
- Object.defineProperty(PagerNumericButtonsComponent.prototype, "pageChooserLabel", {
673
- get: function () {
674
- return this.textFor('selectPage');
675
- },
676
- enumerable: true,
677
- configurable: true
678
- });
679
- __decorate([
680
- HostBinding('class.k-pager-numbers-wrap'),
681
- __metadata("design:type", Boolean)
682
- ], PagerNumericButtonsComponent.prototype, "numbersWrapClass", void 0);
683
- __decorate([
684
- Input(),
685
- __metadata("design:type", Number)
686
- ], PagerNumericButtonsComponent.prototype, "buttonCount", void 0);
687
- PagerNumericButtonsComponent = __decorate([
688
- Component({
689
- changeDetection: ChangeDetectionStrategy.OnPush,
690
- selector: 'kendo-datapager-numeric-buttons',
691
- template: "\n <select\n class=\"k-dropdown-list k-picker k-picker-md k-rounded-md k-picker-solid\"\n [attr.title]=\"pageChooserLabel\"\n [attr.aria-label]=\"pageChooserLabel\"\n [value]=\"(currentPage).toString()\"\n (change)=\"onSelectChange($event)\">\n <option *ngIf=\"start > 1\"\n class=\"k-link\"\n value=\"previousButtons\"\n [attr.aria-label]=\"pageLabel(start - 1)\">...\n </option>\n <option *ngFor=\"let num of buttons\"\n [value]=\"num.toString()\"\n [attr.aria-label]=\"pageLabel(num)\"\n [attr.aria-current]=\"currentPage == num ? 'page' : undefined\"\n [ngClass]=\"{'k-link': true, 'k-state-selected':currentPage == num}\">\n {{num}}\n </option>\n <option *ngIf=\"end < totalPages\"\n value=\"nextButtons\"\n class=\"k-link\"\n [attr.aria-label]=\"pageLabel(end + 1)\">...\n </option>\n </select>\n <ul [ngClass]=\"{'k-pager-numbers': true, 'k-reset': true}\">\n <li *ngIf=\"start > 1\">\n <button\n type=\"button\"\n class=\"k-link\"\n [attr.aria-label]=\"pageLabel(start - 1)\"\n (click)=\"changePage(start - 2)\">...</button>\n </li>\n <li *ngFor=\"let num of buttons\">\n <button\n type=\"button\"\n [attr.aria-label]=\"pageLabel(num)\"\n [attr.aria-current]=\"currentPage == num ? 'page' : undefined\"\n [ngClass]=\"{'k-link': true, 'k-state-selected':currentPage == num}\"\n (click)=\"changePage(num - 1)\">\n {{num}}\n </button>\n </li>\n <li *ngIf=\"end < totalPages\">\n <button\n type=\"button\"\n class=\"k-link\"\n [attr.aria-label]=\"pageLabel(end + 1)\"\n (click)=\"changePage(end)\">...</button>\n </li>\n </ul>\n "
692
- }),
693
- __metadata("design:paramtypes", [LocalizationService,
694
- ChangeDetectorRef,
695
- PagerContextService])
696
- ], PagerNumericButtonsComponent);
697
- return PagerNumericButtonsComponent;
698
- }(PagerElementComponent));
699
-
700
- /**
701
- * Displays buttons for navigating to the next and to the last page ([see example]({% slug pager_settings %})).
702
- */
703
- var PagerNextButtonsComponent = /** @class */ (function (_super) {
704
- __extends(PagerNextButtonsComponent, _super);
705
- function PagerNextButtonsComponent(localization, pagerContext, cd) {
706
- return _super.call(this, localization, pagerContext, cd) || this;
707
- }
708
- Object.defineProperty(PagerNextButtonsComponent.prototype, "disabled", {
709
- /**
710
- * @hidden
711
- *
712
- * @readonly
713
- * @type {boolean}
714
- * @memberOf PagerNextButtonsComponent
715
- */
716
- get: function () {
717
- return this.currentPage === this.totalPages || !this.total;
718
- },
719
- enumerable: true,
720
- configurable: true
721
- });
722
- PagerNextButtonsComponent.prototype.onChanges = function (_a) {
723
- var total = _a.total, skip = _a.skip, pageSize = _a.pageSize;
724
- this.total = total;
725
- this.skip = skip;
726
- this.pageSize = pageSize;
727
- this.cd.markForCheck();
728
- };
729
- PagerNextButtonsComponent = __decorate([
730
- Component({
731
- changeDetection: ChangeDetectionStrategy.OnPush,
732
- selector: 'kendo-datapager-next-buttons',
733
- template: "\n <button\n type=\"button\"\n class=\"k-link k-pager-nav\"\n [class.k-disabled]=\"disabled\"\n [title]=\"textFor('nextPage')\"\n [attr.aria-label]=\"textFor('nextPage')\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n (click)=\"currentPage !== totalPages ? changePage(currentPage) : false\">\n <span class=\"k-icon k-i-arrow-e\" role=\"note\" [attr.aria-label]=\"textFor('nextPage')\"></span>\n </button>\n <button\n type=\"button\"\n class=\"k-link k-pager-nav k-pager-last\"\n [class.k-disabled]=\"disabled\"\n [title]=\"textFor('lastPage')\"\n [attr.aria-label]=\"textFor('lastPage')\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n (click)=\"currentPage !== totalPages ? changePage(totalPages-1) : false\">\n <span class=\"k-icon k-i-seek-e\" role=\"note\" [attr.aria-label]=\"textFor('lastPage')\"></span>\n </button>\n "
734
- }),
735
- __metadata("design:paramtypes", [LocalizationService,
736
- PagerContextService,
737
- ChangeDetectorRef])
738
- ], PagerNextButtonsComponent);
739
- return PagerNextButtonsComponent;
740
- }(PagerElementComponent));
741
-
742
- /**
743
- * Displays an input element which allows the typing and rendering of page numbers.
744
- */
745
- var PagerInputComponent = /** @class */ (function (_super) {
746
- __extends(PagerInputComponent, _super);
747
- function PagerInputComponent(localization, pagerContext, zone, cd) {
748
- var _this = _super.call(this, localization, pagerContext, cd) || this;
749
- _this.pagerContext = pagerContext;
750
- _this.zone = zone;
751
- /**
752
- * @hidden
753
- *
754
- * @param {string} value
755
- *
756
- * @memberOf PagerInputComponent
757
- */
758
- _this.handleKeyDown = function (event) {
759
- var incomingValue = _this.numericInput.value || _this.current;
760
- // tslint:disable:deprecation
761
- if (event.keyCode === Keys.Enter) {
762
- event.preventDefault();
763
- if (incomingValue !== _this.current) {
764
- _this.zone.run(function () {
765
- _this.changePage(incomingValue - 1);
766
- });
767
- }
768
- }
769
- };
770
- /**
771
- * @hidden
772
- *
773
- * @param {string} value
774
- *
775
- * @memberOf PagerInputComponent
776
- */
777
- _this.handleBlur = function () {
778
- var inputValue = _this.numericInput.value;
779
- if (!inputValue) {
780
- _this.numericInput.writeValue(_this.current);
781
- return;
782
- }
783
- if (inputValue !== _this.current) {
784
- _this.zone.run(function () {
785
- _this.changePage(inputValue - 1);
786
- });
787
- }
788
- };
789
- return _this;
790
- }
791
- Object.defineProperty(PagerInputComponent.prototype, "current", {
792
- /**
793
- * @hidden
794
- */
795
- get: function () {
796
- return this.hasPages ? this.currentPage : 0;
797
- },
798
- enumerable: true,
799
- configurable: true
800
- });
801
- Object.defineProperty(PagerInputComponent.prototype, "hasPages", {
802
- /**
803
- * @hidden
804
- */
805
- get: function () {
806
- return this.totalPages !== 0;
807
- },
808
- enumerable: true,
809
- configurable: true
810
- });
811
- PagerInputComponent.prototype.onChanges = function (_a) {
812
- var total = _a.total, skip = _a.skip, pageSize = _a.pageSize;
813
- this.total = total;
814
- this.skip = skip;
815
- this.pageSize = pageSize;
816
- this.cd.markForCheck();
817
- };
818
- __decorate([
819
- ViewChild(NumericTextBoxComponent, { static: true }),
820
- __metadata("design:type", NumericTextBoxComponent)
821
- ], PagerInputComponent.prototype, "numericInput", void 0);
822
- PagerInputComponent = __decorate([
823
- Component({
824
- selector: 'kendo-datapager-input',
825
- template: "\n <span [ngClass]=\"{'k-pager-input': true, 'k-label': true}\">\n {{textFor('page')}}\n <kendo-numerictextbox\n [spinners]=\"false\"\n [decimals]=\"0\"\n format=\"n0\"\n [disabled]=\"!hasPages\"\n [value]=\"current\"\n [min]=\"hasPages ? 1 : 0\"\n [max]=\"totalPages\"\n [autoCorrect]=\"true\"\n [title]=\"textFor('pageNumberInputTitle')\"\n [kendoEventsOutsideAngular]=\"{\n keydown: handleKeyDown,\n focusout: handleBlur\n }\">\n </kendo-numerictextbox>\n {{textFor('of')}} {{totalPages}}\n </span>\n "
826
- }),
827
- __metadata("design:paramtypes", [LocalizationService,
828
- PagerContextService,
829
- NgZone,
830
- ChangeDetectorRef])
831
- ], PagerInputComponent);
832
- return PagerInputComponent;
833
- }(PagerElementComponent));
834
-
835
- /**
836
- * Displays information about the current page and the total number of records ([see example]({% slug pager_settings %})).
837
- */
838
- var PagerInfoComponent = /** @class */ (function (_super) {
839
- __extends(PagerInfoComponent, _super);
840
- function PagerInfoComponent(localization, cd, pagerContext) {
841
- var _this = _super.call(this, localization, pagerContext, cd) || this;
842
- _this.pagerContext = pagerContext;
843
- return _this;
844
- }
845
- Object.defineProperty(PagerInfoComponent.prototype, "maxItems", {
846
- /**
847
- * @hidden
848
- *
849
- * @readonly
850
- * @type {number}
851
- * @memberOf PagerInfoComponent
852
- */
853
- get: function () {
854
- return Math.min(this.currentPage * this.pageSize, this.total);
855
- },
856
- enumerable: true,
857
- configurable: true
858
- });
859
- Object.defineProperty(PagerInfoComponent.prototype, "currentPageText", {
860
- /**
861
- * @hidden
862
- *
863
- * @readonly
864
- * @type {number}
865
- * @memberOf PagerInfoComponent
866
- */
867
- get: function () {
868
- return this.total ?
869
- (this.currentPage - 1) * this.pageSize + 1 :
870
- 0;
871
- },
872
- enumerable: true,
873
- configurable: true
874
- });
875
- Object.defineProperty(PagerInfoComponent.prototype, "classes", {
876
- /**
877
- * @hidden
878
- *
879
- * @readonly
880
- * @type {boolean}
881
- * @memberOf PagerInfoComponent
882
- */
883
- get: function () {
884
- return true;
885
- },
886
- enumerable: true,
887
- configurable: true
888
- });
889
- PagerInfoComponent.prototype.onChanges = function (_a) {
890
- var total = _a.total, skip = _a.skip, pageSize = _a.pageSize;
891
- this.total = total;
892
- this.skip = skip;
893
- this.pageSize = pageSize;
894
- this.cd.markForCheck();
895
- };
896
- __decorate([
897
- HostBinding("class.k-pager-info"),
898
- HostBinding("class.k-label"),
899
- __metadata("design:type", Boolean),
900
- __metadata("design:paramtypes", [])
901
- ], PagerInfoComponent.prototype, "classes", null);
902
- PagerInfoComponent = __decorate([
903
- Component({
904
- changeDetection: ChangeDetectionStrategy.OnPush,
905
- selector: 'kendo-datapager-info',
906
- template: "{{currentPageText}} - {{maxItems}} {{textFor('of')}} {{total}} {{textFor('items')}}"
907
- }),
908
- __metadata("design:paramtypes", [LocalizationService,
909
- ChangeDetectorRef,
910
- PagerContextService])
911
- ], PagerInfoComponent);
912
- return PagerInfoComponent;
913
- }(PagerElementComponent));
914
-
915
- /**
916
- * @hidden
917
- */
918
- var RESPONSIVE_BREAKPOINT_MEDIUM = 600;
919
- /**
920
- * @hidden
921
- */
922
- var RESPONSIVE_BREAKPOINT_LARGE = 768;
923
-
924
- /**
925
- * @hidden
926
- */
927
- var DEFAULT_PAGE_SIZE_VALUES = [5, 10, 20];
928
-
929
- /**
930
- * @hidden
931
- */
932
- var packageMetadata = {
933
- name: '@progress/kendo-angular-pager',
934
- productName: 'Kendo UI for Angular',
935
- productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
936
- publishDate: 1647344354,
937
- version: '',
938
- licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
939
- };
940
-
941
- var PagerComponent = /** @class */ (function () {
942
- function PagerComponent(pagerContext, element, localization) {
943
- var _this = this;
944
- this.pagerContext = pagerContext;
945
- this.element = element;
946
- this.localization = localization;
947
- /**
948
- * Represents the total number of data items in the collection.
949
- */
950
- this.total = 0;
951
- /**
952
- * Defines the number of data items to be skipped.
953
- */
954
- this.skip = 0;
955
- /**
956
- * Sets the maximum numeric buttons count before the buttons are collapsed.
957
- */
958
- this.buttonCount = 10;
959
- /**
960
- * Toggles the information about the current page and the total number of records.
961
- */
962
- this.info = true;
963
- /**
964
- * Defines the type of the pager.
965
- */
966
- this.type = 'numeric';
967
- /**
968
- * Toggles the **Previous** and **Next** buttons.
969
- */
970
- this.previousNext = true;
971
- /**
972
- * Fires when the current page of the Pager is changed ([see example]({% slug overview_pager %}#toc-basic-usage)).
973
- * You have to handle the event yourself and page the data.
974
- */
975
- this.pageChange = new EventEmitter();
976
- /**
977
- * Fires when the page size of the Pager is changed.
978
- * You have to handle the event yourself and page the data.
979
- * If the event is prevented, the page size will remain unchanged ([see example]({% slug pager_events %})).
980
- */
981
- this.pageSizeChange = new EventEmitter();
982
- this.pagerWrapClass = true;
983
- this.pagerClass = true;
984
- this.widgetRole = 'navigation';
985
- this.subscriptions = new Subscription();
986
- this._templateContext = {};
987
- this._pageSizeValues = DEFAULT_PAGE_SIZE_VALUES;
988
- this.resizeHandler = function () {
989
- if (_this.template) {
990
- return;
991
- }
992
- var element = _this.element.nativeElement;
993
- var width = element.offsetWidth;
994
- if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
995
- element.classList.remove('k-pager-md');
996
- element.classList.add('k-pager-sm');
997
- }
998
- else if (width >= RESPONSIVE_BREAKPOINT_MEDIUM && width < RESPONSIVE_BREAKPOINT_LARGE) {
999
- element.classList.add('k-pager-md');
1000
- element.classList.remove('k-pager-sm');
1001
- }
1002
- else {
1003
- element.classList.remove('k-pager-md');
1004
- element.classList.remove('k-pager-sm');
1005
- }
1006
- };
1007
- validatePackage(packageMetadata);
1008
- this.direction = localization.rtl ? 'rtl' : 'ltr';
1009
- }
1010
- Object.defineProperty(PagerComponent.prototype, "pageSizeValues", {
1011
- get: function () {
1012
- return this._pageSizeValues;
1013
- },
1014
- /**
1015
- * Shows a dropdown for selecting the page size.
1016
- * When set to `true`, the dropdown will contain the default list of options - 5, 10, 20.
1017
- * To customize the list of options, set `pageSizeValues` to an array of the desired values.
1018
- * The array can contain numbers and [PageSizeItem]({% slug api_pager_pagesizeitem %}) objects.
1019
- */
1020
- set: function (pageSizeValues) {
1021
- this._pageSizeValues = Array.isArray(pageSizeValues) ? pageSizeValues : pageSizeValues ? DEFAULT_PAGE_SIZE_VALUES : false;
1022
- },
1023
- enumerable: true,
1024
- configurable: true
1025
- });
1026
- Object.defineProperty(PagerComponent.prototype, "dir", {
1027
- get: function () {
1028
- return this.direction;
1029
- },
1030
- enumerable: true,
1031
- configurable: true
1032
- });
1033
- Object.defineProperty(PagerComponent.prototype, "totalPages", {
1034
- get: function () {
1035
- return Math.ceil((this.total || 0) / this.pageSize);
1036
- },
1037
- enumerable: true,
1038
- configurable: true
1039
- });
1040
- Object.defineProperty(PagerComponent.prototype, "currentPage", {
1041
- get: function () {
1042
- return Math.floor((this.skip || 0) / this.pageSize) + 1;
1043
- },
1044
- enumerable: true,
1045
- configurable: true
1046
- });
1047
- Object.defineProperty(PagerComponent.prototype, "templateContext", {
1048
- get: function () {
1049
- var context = this._templateContext;
1050
- context.totalPages = this.totalPages;
1051
- context.total = this.total;
1052
- context.skip = this.skip;
1053
- context.pageSize = this.pageSize;
1054
- context.currentPage = this.currentPage;
1055
- return context;
1056
- },
1057
- enumerable: true,
1058
- configurable: true
1059
- });
1060
- PagerComponent.prototype.ngOnInit = function () {
1061
- var _this = this;
1062
- this.subscriptions.add(this.pagerContext.pageChange.subscribe(this.changePage.bind(this)));
1063
- this.subscriptions.add(this.pagerContext.pageSizeChange.subscribe(this.changePageSize.bind(this)));
1064
- this.subscriptions.add(this.resizeSensor.resize.subscribe(function () { return _this.resizeHandler(); }));
1065
- this.subscriptions.add(this.localization.changes.subscribe(function (_a) {
1066
- var rtl = _a.rtl;
1067
- _this.direction = rtl ? 'rtl' : 'ltr';
1068
- }));
1069
- };
1070
- PagerComponent.prototype.ngAfterViewInit = function () {
1071
- this.resizeHandler();
1072
- };
1073
- PagerComponent.prototype.ngOnChanges = function (changes) {
1074
- if (anyChanged(["pageSize", "skip", "total"], changes, false)) {
1075
- this.pagerContext.notifyChanges({
1076
- pageSize: this.pageSize,
1077
- skip: this.skip,
1078
- total: this.total
1079
- });
1080
- }
1081
- };
1082
- PagerComponent.prototype.ngOnDestroy = function () {
1083
- this.subscriptions.unsubscribe();
1084
- };
1085
- /**
1086
- * @hidden
1087
- */
1088
- PagerComponent.prototype.changePage = function (event) {
1089
- this.pageChange.emit(event);
1090
- };
1091
- /**
1092
- * @hidden
1093
- */
1094
- PagerComponent.prototype.changePageSize = function (event) {
1095
- this.pageSizeChange.emit(event);
1096
- if (!event.isDefaultPrevented()) {
1097
- if (event.newPageSize === 'all') {
1098
- this.pageChange.emit({ skip: 0, take: this.total });
1099
- }
1100
- else {
1101
- this.pageChange.emit({ skip: 0, take: event.newPageSize });
1102
- }
1103
- }
1104
- };
1105
- /**
1106
- * @hidden
1107
- */
1108
- PagerComponent.prototype.onPageSizeChange = function (event) {
1109
- this.pageSizeChange.emit(event);
1110
- if (!event.isDefaultPrevented()) {
1111
- this.pageChange.emit({ skip: this.skip, take: event.newPageSize });
1112
- }
1113
- };
1114
- __decorate([
1115
- ViewChild(ResizeSensorComponent, { static: true }),
1116
- __metadata("design:type", ResizeSensorComponent)
1117
- ], PagerComponent.prototype, "resizeSensor", void 0);
1118
- __decorate([
1119
- ContentChild(PagerTemplateDirective, { static: false }),
1120
- __metadata("design:type", PagerTemplateDirective)
1121
- ], PagerComponent.prototype, "template", void 0);
1122
- __decorate([
1123
- Input(),
1124
- __metadata("design:type", Number)
1125
- ], PagerComponent.prototype, "total", void 0);
1126
- __decorate([
1127
- Input(),
1128
- __metadata("design:type", Number)
1129
- ], PagerComponent.prototype, "skip", void 0);
1130
- __decorate([
1131
- Input(),
1132
- __metadata("design:type", Number)
1133
- ], PagerComponent.prototype, "pageSize", void 0);
1134
- __decorate([
1135
- Input(),
1136
- __metadata("design:type", Number)
1137
- ], PagerComponent.prototype, "buttonCount", void 0);
1138
- __decorate([
1139
- Input(),
1140
- __metadata("design:type", Boolean)
1141
- ], PagerComponent.prototype, "info", void 0);
1142
- __decorate([
1143
- Input(),
1144
- __metadata("design:type", String)
1145
- ], PagerComponent.prototype, "type", void 0);
1146
- __decorate([
1147
- Input(),
1148
- __metadata("design:type", Object),
1149
- __metadata("design:paramtypes", [Object])
1150
- ], PagerComponent.prototype, "pageSizeValues", null);
1151
- __decorate([
1152
- Input(),
1153
- __metadata("design:type", Boolean)
1154
- ], PagerComponent.prototype, "previousNext", void 0);
1155
- __decorate([
1156
- Output(),
1157
- __metadata("design:type", EventEmitter)
1158
- ], PagerComponent.prototype, "pageChange", void 0);
1159
- __decorate([
1160
- Output(),
1161
- __metadata("design:type", EventEmitter)
1162
- ], PagerComponent.prototype, "pageSizeChange", void 0);
1163
- __decorate([
1164
- HostBinding('class.k-pager-wrap'),
1165
- __metadata("design:type", Boolean)
1166
- ], PagerComponent.prototype, "pagerWrapClass", void 0);
1167
- __decorate([
1168
- HostBinding('class.k-pager'),
1169
- __metadata("design:type", Boolean)
1170
- ], PagerComponent.prototype, "pagerClass", void 0);
1171
- __decorate([
1172
- HostBinding('attr.role'),
1173
- __metadata("design:type", String)
1174
- ], PagerComponent.prototype, "widgetRole", void 0);
1175
- __decorate([
1176
- HostBinding('attr.dir'),
1177
- __metadata("design:type", String),
1178
- __metadata("design:paramtypes", [])
1179
- ], PagerComponent.prototype, "dir", null);
1180
- PagerComponent = __decorate([
1181
- Component({
1182
- selector: 'kendo-datapager',
1183
- exportAs: 'kendoDataPager',
1184
- providers: [
1185
- LocalizationService,
1186
- PagerContextService
1187
- ],
1188
- template: "\n <ng-container kendoDataPagerLocalizedMessages\n i18n-firstPage=\"kendo.pager.firstPage|The label for the first page button in the Pager\"\n firstPage=\"Go to the first page\"\n\n i18n-previousPage=\"kendo.pager.previousPage|The label for the previous page button in the Pager\"\n previousPage=\"Go to the previous page\"\n\n i18n-nextPage=\"kendo.pager.nextPage|The label for the next page button in the Pager\"\n nextPage=\"Go to the next page\"\n\n i18n-lastPage=\"kendo.pager.lastPage|The label for the last page button in the Pager\"\n lastPage=\"Go to the last page\"\n\n i18n-page=\"kendo.pager.page|The label before the current page number in the Pager\"\n page=\"Page\"\n\n i18n-of=\"kendo.pager.of|The label before the total pages number in the Pager\"\n of=\"of\"\n\n i18n-pageNumberInputTitle=\"kendo.pager.pageNumberInputTitle|The label for the pager input in the Pager\"\n pageNumberInputTitle=\"Page Number\"\n\n i18n-items=\"kendo.pager.items|The label after the total pages number in the Pager\"\n items=\"items\"\n\n i18n-itemsPerPage=\"kendo.pager.itemsPerPage|The label for the page size chooser in the Pager\"\n itemsPerPage=\"items per page\"\n\n i18n-selectPage=\"kendo.pager.selectPage|The text of the title and aria-label attributes applied to the page chooser in the Pager\"\n selectPage=\"Select page\"\n >\n </ng-container>\n <ng-container\n *ngIf=\"template?.templateRef\"\n [ngTemplateOutlet]=\"template.templateRef\"\n [ngTemplateOutletContext]=\"templateContext\">\n </ng-container>\n <ng-container *ngIf=\"!template?.templateRef\">\n <kendo-datapager-prev-buttons *ngIf=\"previousNext\"></kendo-datapager-prev-buttons>\n <kendo-datapager-numeric-buttons\n *ngIf=\"type === 'numeric' && buttonCount > 0\"\n [buttonCount]=\"buttonCount\">\n </kendo-datapager-numeric-buttons>\n <kendo-datapager-input *ngIf=\"type === 'input'\"></kendo-datapager-input>\n <kendo-datapager-next-buttons *ngIf=\"previousNext\"></kendo-datapager-next-buttons>\n <kendo-datapager-info *ngIf='info'></kendo-datapager-info>\n <kendo-datapager-page-sizes *ngIf=\"pageSizeValues\" [pageSizes]=\"pageSizeValues\"></kendo-datapager-page-sizes>\n </ng-container>\n <kendo-resize-sensor></kendo-resize-sensor>\n "
1189
- }),
1190
- __metadata("design:paramtypes", [PagerContextService,
1191
- ElementRef,
1192
- LocalizationService])
1193
- ], PagerComponent);
1194
- return PagerComponent;
1195
- }());
1196
-
1197
- /**
1198
- * @hidden
1199
- */
1200
- var LocalizedMessagesDirective = /** @class */ (function (_super) {
1201
- __extends(LocalizedMessagesDirective, _super);
1202
- function LocalizedMessagesDirective(service) {
1203
- var _this = _super.call(this) || this;
1204
- _this.service = service;
1205
- return _this;
1206
- }
1207
- LocalizedMessagesDirective_1 = LocalizedMessagesDirective;
1208
- var LocalizedMessagesDirective_1;
1209
- LocalizedMessagesDirective = LocalizedMessagesDirective_1 = __decorate([
1210
- Directive({
1211
- providers: [
1212
- {
1213
- provide: Messages,
1214
- useExisting: forwardRef(function () { return LocalizedMessagesDirective_1; })
1215
- }
1216
- ],
1217
- selector: '[kendoDataPagerLocalizedMessages]'
1218
- }),
1219
- __metadata("design:paramtypes", [LocalizationService])
1220
- ], LocalizedMessagesDirective);
1221
- return LocalizedMessagesDirective;
1222
- }(Messages));
1223
-
1224
- var importedModules = [
1225
- CommonModule,
1226
- NumericTextBoxModule,
1227
- DropDownListModule,
1228
- EventsModule,
1229
- ResizeSensorModule
1230
- ];
1231
- var INTERNAL_COMPONENTS = [
1232
- PagerComponent,
1233
- PagerPrevButtonsComponent,
1234
- PagerNextButtonsComponent,
1235
- PagerNumericButtonsComponent,
1236
- PagerInputComponent,
1237
- PagerInfoComponent,
1238
- PagerPageSizesComponent,
1239
- PagerTemplateDirective,
1240
- LocalizedMessagesDirective,
1241
- CustomMessagesComponent
1242
- ];
1243
- var providers = [
1244
- {
1245
- provide: L10N_PREFIX,
1246
- useValue: 'kendo.pager'
1247
- }
1248
- ];
1249
- /**
1250
- * @hidden
1251
- */
1252
- var PagerModule = /** @class */ (function () {
1253
- function PagerModule() {
1254
- }
1255
- PagerModule.exports = function () {
1256
- return [
1257
- PagerComponent,
1258
- PagerPrevButtonsComponent,
1259
- PagerNextButtonsComponent,
1260
- PagerNumericButtonsComponent,
1261
- PagerInputComponent,
1262
- PagerInfoComponent,
1263
- PagerPageSizesComponent,
1264
- PagerTemplateDirective
1265
- ];
1266
- };
1267
- PagerModule = __decorate([
1268
- NgModule({
1269
- declarations: [INTERNAL_COMPONENTS],
1270
- exports: [INTERNAL_COMPONENTS],
1271
- imports: importedModules.slice(),
1272
- providers: [providers]
1273
- })
1274
- ], PagerModule);
1275
- return PagerModule;
1276
- }());
1277
-
1278
- /**
1279
- * Generated bundle index. Do not edit.
1280
- */
1281
-
1282
- export { LocalizedMessagesDirective, Messages, PagerContextService, PagerElementComponent, PreventableEvent, PageSizeChangeEvent, CustomMessagesComponent, PagerPrevButtonsComponent, PagerPageSizesComponent, PagerTemplateDirective, PagerNumericButtonsComponent, PagerNextButtonsComponent, PagerInputComponent, PagerInfoComponent, PagerComponent, PagerModule };