@progress/kendo-angular-pager 4.1.0-dev.202211230837 → 11.0.0-develop.79
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.
- package/NOTICE.txt +3 -3
- package/{esm2015/main.js → esm2020/index.mjs} +1 -1
- package/{esm2015/package-metadata.js → esm2020/package-metadata.mjs} +3 -3
- package/{esm2015/pager/change-event-args.interface.js → esm2020/pager/change-event-args.interface.mjs} +1 -1
- package/{esm2015/pager/common/constants.js → esm2020/pager/common/constants.mjs} +1 -1
- package/{esm2015/pager/pagesize-item.interface.js → esm2020/pager/common/pager-classes.mjs} +1 -1
- package/{esm2015/pager/common/pager-type.js → esm2020/pager/common/pager-size.mjs} +1 -1
- package/esm2020/pager/common/pager-type.mjs +5 -0
- package/{esm2015/pager/focusable.directive.js → esm2020/pager/focusable.directive.mjs} +6 -5
- package/{esm2015/pager/localization/custom-messages.component.js → esm2020/pager/localization/custom-messages.component.mjs} +5 -4
- package/{esm2015/pager/localization/localized-messages.directive.js → esm2020/pager/localization/localized-messages.directive.mjs} +5 -4
- package/{esm2015/pager/localization/messages.js → esm2020/pager/localization/messages.mjs} +4 -4
- package/{esm2015/pager/navigation.service.js → esm2020/pager/navigation.service.mjs} +1 -1
- package/{esm2015/pager/pager-context.service.js → esm2020/pager/pager-context.service.mjs} +1 -1
- package/{esm2015/pager/pager-element.component.js → esm2020/pager/pager-element.component.mjs} +7 -5
- package/{esm2015/pager/pager-info.component.js → esm2020/pager/pager-info.component.mjs} +7 -8
- package/{esm2015/pager/pager-input.component.js → esm2020/pager/pager-input.component.mjs} +23 -6
- package/{esm2015/pager/pager-next-buttons.component.js → esm2020/pager/pager-next-buttons.component.mjs} +56 -32
- package/esm2020/pager/pager-numeric-buttons.component.mjs +273 -0
- package/{esm2015/pager/pager-page-sizes.component.js → esm2020/pager/pager-page-sizes.component.mjs} +42 -10
- package/{esm2015/pager/pager-prev-buttons.component.js → esm2020/pager/pager-prev-buttons.component.mjs} +52 -28
- package/{esm2015/pager/pager-template.directive.js → esm2020/pager/pager-template.directive.mjs} +5 -5
- package/{esm2015/pager/pager.component.js → esm2020/pager/pager.component.mjs} +84 -43
- package/{esm2015/pager/pager.module.js → esm2020/pager/pager.module.mjs} +8 -5
- package/esm2020/pager/pagesize-item.interface.mjs +5 -0
- package/{esm2015/pager/pagesizechange-event.js → esm2020/pager/pagesizechange-event.mjs} +1 -1
- package/{esm2015/pager/preventable-event.js → esm2020/pager/preventable-event.mjs} +1 -1
- package/{esm2015/kendo-angular-pager.js → esm2020/progress-kendo-angular-pager.mjs} +2 -2
- package/{esm2015/util.js → esm2020/util.mjs} +26 -1
- package/fesm2015/progress-kendo-angular-pager.mjs +1941 -0
- package/{fesm2015/kendo-angular-pager.js → fesm2020/progress-kendo-angular-pager.mjs} +421 -221
- package/{main.d.ts → index.d.ts} +2 -1
- package/package-metadata.d.ts +1 -1
- package/package.json +29 -55
- package/pager/change-event-args.interface.d.ts +1 -1
- package/pager/common/constants.d.ts +1 -1
- package/pager/common/pager-classes.d.ts +11 -0
- package/pager/common/pager-size.d.ts +9 -0
- package/pager/common/pager-type.d.ts +1 -1
- package/pager/focusable.directive.d.ts +1 -1
- package/pager/localization/custom-messages.component.d.ts +1 -1
- package/pager/localization/localized-messages.directive.d.ts +1 -1
- package/pager/localization/messages.d.ts +1 -1
- package/pager/navigation.service.d.ts +1 -1
- package/pager/pager-context.service.d.ts +1 -1
- package/pager/pager-element.component.d.ts +1 -1
- package/pager/pager-info.component.d.ts +1 -1
- package/pager/pager-input.component.d.ts +13 -2
- package/pager/pager-next-buttons.component.d.ts +13 -2
- package/pager/pager-numeric-buttons.component.d.ts +21 -5
- package/pager/pager-page-sizes.component.d.ts +20 -5
- package/pager/pager-prev-buttons.component.d.ts +13 -2
- package/pager/pager-template.directive.d.ts +1 -1
- package/pager/pager.component.d.ts +19 -5
- package/pager/pager.module.d.ts +4 -3
- package/pager/pagesize-item.interface.d.ts +1 -1
- package/pager/pagesizechange-event.d.ts +1 -1
- package/pager/preventable-event.d.ts +1 -1
- package/{kendo-angular-pager.d.ts → progress-kendo-angular-pager.d.ts} +2 -2
- package/schematics/ngAdd/index.js +1 -5
- package/util.d.ts +13 -1
- package/bundles/kendo-angular-pager.umd.js +0 -5
- package/esm2015/pager/pager-numeric-buttons.component.js +0 -217
- package/schematics/ngAdd/index.js.map +0 -1
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2022 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, ChangeDetectorRef, Component, Input, ViewChild, Renderer2, ElementRef } from '@angular/core';
|
|
6
|
+
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
|
+
import { PagerContextService } from './pager-context.service';
|
|
8
|
+
import { PagerElementComponent } from './pager-element.component';
|
|
9
|
+
import { DEFAULT_SIZE, getStylingClasses } from '../util';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@progress/kendo-angular-l10n";
|
|
12
|
+
import * as i2 from "./pager-context.service";
|
|
13
|
+
import * as i3 from "@progress/kendo-angular-buttons";
|
|
14
|
+
import * as i4 from "./focusable.directive";
|
|
15
|
+
import * as i5 from "@angular/common";
|
|
16
|
+
/**
|
|
17
|
+
* Displays numeric buttons to enable navigation between the pages.
|
|
18
|
+
*/
|
|
19
|
+
export class PagerNumericButtonsComponent extends PagerElementComponent {
|
|
20
|
+
constructor(localization, cd, pagerContext, renderer) {
|
|
21
|
+
super(localization, pagerContext, cd);
|
|
22
|
+
this.pagerContext = pagerContext;
|
|
23
|
+
this.renderer = renderer;
|
|
24
|
+
this._size = DEFAULT_SIZE;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Specifies the padding of the numeric buttons.
|
|
28
|
+
*
|
|
29
|
+
* The possible values are:
|
|
30
|
+
* * `small`
|
|
31
|
+
* * `medium` (default)
|
|
32
|
+
* * `large`
|
|
33
|
+
* * `none`
|
|
34
|
+
*/
|
|
35
|
+
set size(size) {
|
|
36
|
+
const newSize = size ? size : DEFAULT_SIZE;
|
|
37
|
+
this.handleClasses(newSize, 'size');
|
|
38
|
+
this._size = newSize;
|
|
39
|
+
}
|
|
40
|
+
get size() {
|
|
41
|
+
return this._size;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @hidden
|
|
45
|
+
*
|
|
46
|
+
* @readonly
|
|
47
|
+
* @type {number[]}
|
|
48
|
+
* @memberOf PagerNumericButtonsComponent
|
|
49
|
+
*/
|
|
50
|
+
get buttons() {
|
|
51
|
+
const result = [];
|
|
52
|
+
for (let idx = this.start; idx <= this.end; idx++) {
|
|
53
|
+
result.push(idx);
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @hidden
|
|
59
|
+
*/
|
|
60
|
+
get end() {
|
|
61
|
+
return Math.min((this.start + this.buttonCount) - 1, this.totalPages);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* @hidden
|
|
65
|
+
*/
|
|
66
|
+
get start() {
|
|
67
|
+
const page = this.currentPage;
|
|
68
|
+
const buttonCount = this.buttonCount;
|
|
69
|
+
if (page > buttonCount) {
|
|
70
|
+
const reminder = (page % buttonCount);
|
|
71
|
+
return (reminder === 0) ? (page - buttonCount) + 1 : (page - reminder) + 1;
|
|
72
|
+
}
|
|
73
|
+
return 1;
|
|
74
|
+
}
|
|
75
|
+
ngAfterViewInit() {
|
|
76
|
+
this.handleClasses(this.size, 'size');
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* @hidden
|
|
80
|
+
*/
|
|
81
|
+
pageLabel(num) {
|
|
82
|
+
const pageText = this.textFor('page');
|
|
83
|
+
if (pageText) {
|
|
84
|
+
return pageText + ' ' + num;
|
|
85
|
+
}
|
|
86
|
+
return num.toString();
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* @hidden
|
|
90
|
+
*/
|
|
91
|
+
onSelectChange(e) {
|
|
92
|
+
const target = e.target;
|
|
93
|
+
const valueAsNumber = Number(target.value);
|
|
94
|
+
if (!Number.isNaN(valueAsNumber)) {
|
|
95
|
+
this.changePage(valueAsNumber - 1);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
if (target.value === 'previousButtons') {
|
|
99
|
+
this.changePage(this.start - 2);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
this.changePage(this.end);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
onChanges({ total, skip, pageSize }) {
|
|
107
|
+
this.total = total;
|
|
108
|
+
this.skip = skip;
|
|
109
|
+
this.pageSize = pageSize;
|
|
110
|
+
this.cd.markForCheck();
|
|
111
|
+
}
|
|
112
|
+
get pageChooserLabel() {
|
|
113
|
+
return this.textFor('selectPage');
|
|
114
|
+
}
|
|
115
|
+
handleClasses(value, input) {
|
|
116
|
+
const elem = this.selectElement?.nativeElement;
|
|
117
|
+
const classes = getStylingClasses('picker', input, this[input], value);
|
|
118
|
+
if (!elem) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
if (classes.toRemove) {
|
|
122
|
+
this.renderer.removeClass(elem, classes.toRemove);
|
|
123
|
+
}
|
|
124
|
+
if (classes.toAdd) {
|
|
125
|
+
this.renderer.addClass(elem, classes.toAdd);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
PagerNumericButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
130
|
+
PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons", inputs: { buttonCount: "buttonCount", size: "size" }, viewQueries: [{ propertyName: "selectElement", first: true, predicate: ["select"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
|
|
131
|
+
<select kendoPagerFocusable #select
|
|
132
|
+
class="k-dropdown-list k-dropdown k-picker k-rounded-md"
|
|
133
|
+
[attr.title]="pageChooserLabel"
|
|
134
|
+
[attr.aria-label]="pageChooserLabel"
|
|
135
|
+
(change)="onSelectChange($event)">
|
|
136
|
+
<option *ngIf="start > 1"
|
|
137
|
+
value="previousButtons"
|
|
138
|
+
[selected]="false"
|
|
139
|
+
[attr.aria-label]="pageLabel(start - 1)">...
|
|
140
|
+
</option>
|
|
141
|
+
<option *ngFor="let num of buttons"
|
|
142
|
+
[value]="num.toString()"
|
|
143
|
+
[selected]="num === currentPage"
|
|
144
|
+
[attr.aria-label]="pageLabel(num)"
|
|
145
|
+
[attr.aria-current]="currentPage === num ? 'page' : undefined"
|
|
146
|
+
[ngClass]="{'k-selected':currentPage === num}">
|
|
147
|
+
{{num}}
|
|
148
|
+
</option>
|
|
149
|
+
<option *ngIf="end < totalPages"
|
|
150
|
+
value="nextButtons"
|
|
151
|
+
[selected]="false"
|
|
152
|
+
[attr.aria-label]="pageLabel(end + 1)">...
|
|
153
|
+
</option>
|
|
154
|
+
</select>
|
|
155
|
+
<div [ngClass]="{'k-pager-numbers': true}">
|
|
156
|
+
<button *ngIf="start > 1"
|
|
157
|
+
type="button"
|
|
158
|
+
kendoPagerFocusable
|
|
159
|
+
kendoButton
|
|
160
|
+
[size]="size"
|
|
161
|
+
fillMode="flat"
|
|
162
|
+
themeColor="primary"
|
|
163
|
+
rounded="none"
|
|
164
|
+
[attr.aria-label]="pageLabel(start - 1)"
|
|
165
|
+
[attr.title]="pageLabel(start - 1)"
|
|
166
|
+
(click)="changePage(start - 2)">...</button>
|
|
167
|
+
<button *ngFor="let num of buttons"
|
|
168
|
+
type="button"
|
|
169
|
+
kendoPagerFocusable
|
|
170
|
+
kendoButton
|
|
171
|
+
[size]="size"
|
|
172
|
+
fillMode="flat"
|
|
173
|
+
themeColor="primary"
|
|
174
|
+
rounded="none"
|
|
175
|
+
[attr.aria-label]="pageLabel(num)"
|
|
176
|
+
[attr.title]="pageLabel(num)"
|
|
177
|
+
[attr.aria-current]="currentPage === num ? 'page' : undefined"
|
|
178
|
+
[selected]="currentPage === num"
|
|
179
|
+
(click)="changePage(num - 1)">
|
|
180
|
+
{{num}}
|
|
181
|
+
</button>
|
|
182
|
+
<button *ngIf="end < totalPages"
|
|
183
|
+
type="button"
|
|
184
|
+
kendoPagerFocusable
|
|
185
|
+
kendoButton
|
|
186
|
+
[size]="size"
|
|
187
|
+
fillMode="flat"
|
|
188
|
+
themeColor="primary"
|
|
189
|
+
rounded="none"
|
|
190
|
+
[attr.aria-label]="pageLabel(end + 1)"
|
|
191
|
+
[attr.title]="pageLabel(end + 1)"
|
|
192
|
+
(click)="changePage(end)">...</button>
|
|
193
|
+
</div>
|
|
194
|
+
`, isInline: true, components: [{ type: i3.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i4.PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerNumericButtonsComponent, decorators: [{
|
|
196
|
+
type: Component,
|
|
197
|
+
args: [{
|
|
198
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
199
|
+
selector: 'kendo-datapager-numeric-buttons',
|
|
200
|
+
template: `
|
|
201
|
+
<select kendoPagerFocusable #select
|
|
202
|
+
class="k-dropdown-list k-dropdown k-picker k-rounded-md"
|
|
203
|
+
[attr.title]="pageChooserLabel"
|
|
204
|
+
[attr.aria-label]="pageChooserLabel"
|
|
205
|
+
(change)="onSelectChange($event)">
|
|
206
|
+
<option *ngIf="start > 1"
|
|
207
|
+
value="previousButtons"
|
|
208
|
+
[selected]="false"
|
|
209
|
+
[attr.aria-label]="pageLabel(start - 1)">...
|
|
210
|
+
</option>
|
|
211
|
+
<option *ngFor="let num of buttons"
|
|
212
|
+
[value]="num.toString()"
|
|
213
|
+
[selected]="num === currentPage"
|
|
214
|
+
[attr.aria-label]="pageLabel(num)"
|
|
215
|
+
[attr.aria-current]="currentPage === num ? 'page' : undefined"
|
|
216
|
+
[ngClass]="{'k-selected':currentPage === num}">
|
|
217
|
+
{{num}}
|
|
218
|
+
</option>
|
|
219
|
+
<option *ngIf="end < totalPages"
|
|
220
|
+
value="nextButtons"
|
|
221
|
+
[selected]="false"
|
|
222
|
+
[attr.aria-label]="pageLabel(end + 1)">...
|
|
223
|
+
</option>
|
|
224
|
+
</select>
|
|
225
|
+
<div [ngClass]="{'k-pager-numbers': true}">
|
|
226
|
+
<button *ngIf="start > 1"
|
|
227
|
+
type="button"
|
|
228
|
+
kendoPagerFocusable
|
|
229
|
+
kendoButton
|
|
230
|
+
[size]="size"
|
|
231
|
+
fillMode="flat"
|
|
232
|
+
themeColor="primary"
|
|
233
|
+
rounded="none"
|
|
234
|
+
[attr.aria-label]="pageLabel(start - 1)"
|
|
235
|
+
[attr.title]="pageLabel(start - 1)"
|
|
236
|
+
(click)="changePage(start - 2)">...</button>
|
|
237
|
+
<button *ngFor="let num of buttons"
|
|
238
|
+
type="button"
|
|
239
|
+
kendoPagerFocusable
|
|
240
|
+
kendoButton
|
|
241
|
+
[size]="size"
|
|
242
|
+
fillMode="flat"
|
|
243
|
+
themeColor="primary"
|
|
244
|
+
rounded="none"
|
|
245
|
+
[attr.aria-label]="pageLabel(num)"
|
|
246
|
+
[attr.title]="pageLabel(num)"
|
|
247
|
+
[attr.aria-current]="currentPage === num ? 'page' : undefined"
|
|
248
|
+
[selected]="currentPage === num"
|
|
249
|
+
(click)="changePage(num - 1)">
|
|
250
|
+
{{num}}
|
|
251
|
+
</button>
|
|
252
|
+
<button *ngIf="end < totalPages"
|
|
253
|
+
type="button"
|
|
254
|
+
kendoPagerFocusable
|
|
255
|
+
kendoButton
|
|
256
|
+
[size]="size"
|
|
257
|
+
fillMode="flat"
|
|
258
|
+
themeColor="primary"
|
|
259
|
+
rounded="none"
|
|
260
|
+
[attr.aria-label]="pageLabel(end + 1)"
|
|
261
|
+
[attr.title]="pageLabel(end + 1)"
|
|
262
|
+
(click)="changePage(end)">...</button>
|
|
263
|
+
</div>
|
|
264
|
+
`
|
|
265
|
+
}]
|
|
266
|
+
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }, { type: i0.Renderer2 }]; }, propDecorators: { selectElement: [{
|
|
267
|
+
type: ViewChild,
|
|
268
|
+
args: ['select', { read: ElementRef }]
|
|
269
|
+
}], buttonCount: [{
|
|
270
|
+
type: Input
|
|
271
|
+
}], size: [{
|
|
272
|
+
type: Input
|
|
273
|
+
}] } });
|
package/{esm2015/pager/pager-page-sizes.component.js → esm2020/pager/pager-page-sizes.component.mjs}
RENAMED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2022 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 { Component, ChangeDetectionStrategy, HostBinding, Input, ViewChild } from '@angular/core';
|
|
5
|
+
import { Component, ChangeDetectorRef, ChangeDetectionStrategy, HostBinding, Input, ViewChild, ElementRef, NgZone } from '@angular/core';
|
|
6
6
|
import { PagerElementComponent } from './pager-element.component';
|
|
7
|
+
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
|
+
import { PagerContextService } from "./pager-context.service";
|
|
7
9
|
import { PageSizeChangeEvent } from './pagesizechange-event';
|
|
10
|
+
import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
|
|
11
|
+
import { Keys } from '@progress/kendo-angular-common';
|
|
12
|
+
import { DEFAULT_SIZE } from '../util';
|
|
8
13
|
import * as i0 from "@angular/core";
|
|
9
14
|
import * as i1 from "@progress/kendo-angular-l10n";
|
|
10
15
|
import * as i2 from "./pager-context.service";
|
|
@@ -14,9 +19,21 @@ import * as i4 from "./focusable.directive";
|
|
|
14
19
|
* Displays a drop-down list for the page size selection ([see example]({% slug pager_settings %})).
|
|
15
20
|
*/
|
|
16
21
|
export class PagerPageSizesComponent extends PagerElementComponent {
|
|
17
|
-
constructor(localization, cd, pagerContext) {
|
|
22
|
+
constructor(localization, cd, pagerContext, element, ngZone) {
|
|
18
23
|
super(localization, pagerContext, cd);
|
|
19
24
|
this.pagerContext = pagerContext;
|
|
25
|
+
this.element = element;
|
|
26
|
+
this.ngZone = ngZone;
|
|
27
|
+
/**
|
|
28
|
+
* Specifies the padding of the dropdown.
|
|
29
|
+
*
|
|
30
|
+
* The possible values are:
|
|
31
|
+
* * `small`
|
|
32
|
+
* * `medium` (default)
|
|
33
|
+
* * `large`
|
|
34
|
+
* * `none`
|
|
35
|
+
*/
|
|
36
|
+
this.size = DEFAULT_SIZE;
|
|
20
37
|
this._pageSizes = [];
|
|
21
38
|
}
|
|
22
39
|
/**
|
|
@@ -170,6 +187,12 @@ export class PagerPageSizesComponent extends PagerElementComponent {
|
|
|
170
187
|
}
|
|
171
188
|
ngAfterViewInit() {
|
|
172
189
|
this.dropDownList.wrapper.nativeElement.setAttribute('aria-label', this.textFor('itemsPerPage'));
|
|
190
|
+
this.ngZone.runOutsideAngular(() => {
|
|
191
|
+
this.element.nativeElement.addEventListener('keydown', this.keyDownHandler.bind(this), true);
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
ngOnDestroy() {
|
|
195
|
+
this.element.nativeElement.removeEventListener('keydown', this.keyDownHandler);
|
|
173
196
|
}
|
|
174
197
|
/**
|
|
175
198
|
* @hidden
|
|
@@ -187,11 +210,19 @@ export class PagerPageSizesComponent extends PagerElementComponent {
|
|
|
187
210
|
this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
|
|
188
211
|
this.cd.markForCheck();
|
|
189
212
|
}
|
|
213
|
+
keyDownHandler(ev) {
|
|
214
|
+
if (ev.keyCode === Keys.Escape && this.dropDownList.isOpen) {
|
|
215
|
+
ev.stopPropagation();
|
|
216
|
+
this.dropDownList.toggle(false);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
190
219
|
}
|
|
191
|
-
PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
192
|
-
PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
220
|
+
PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
221
|
+
PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PagerPageSizesComponent, selector: "kendo-datapager-page-sizes", inputs: { pageSizes: "pageSizes", size: "size" }, host: { properties: { "class.k-pager-sizes": "this.classes" } }, viewQueries: [{ propertyName: "dropDownList", first: true, predicate: ["dropdownlist"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
193
222
|
<kendo-dropdownlist kendoPagerFocusable
|
|
223
|
+
class="k-dropdown"
|
|
194
224
|
#dropdownlist
|
|
225
|
+
[size]="size"
|
|
195
226
|
[data]="pageSizes"
|
|
196
227
|
textField="text"
|
|
197
228
|
valueField="value"
|
|
@@ -200,14 +231,16 @@ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
200
231
|
(valueChange)="pageSizeChange($event, dropdownlist)"></kendo-dropdownlist>
|
|
201
232
|
{{ textFor('itemsPerPage') }}
|
|
202
233
|
`, 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"] }], directives: [{ type: i4.PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
203
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
234
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
|
|
204
235
|
type: Component,
|
|
205
236
|
args: [{
|
|
206
237
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
207
238
|
selector: 'kendo-datapager-page-sizes',
|
|
208
239
|
template: `
|
|
209
240
|
<kendo-dropdownlist kendoPagerFocusable
|
|
241
|
+
class="k-dropdown"
|
|
210
242
|
#dropdownlist
|
|
243
|
+
[size]="size"
|
|
211
244
|
[data]="pageSizes"
|
|
212
245
|
textField="text"
|
|
213
246
|
valueField="value"
|
|
@@ -217,15 +250,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
217
250
|
{{ textFor('itemsPerPage') }}
|
|
218
251
|
`
|
|
219
252
|
}]
|
|
220
|
-
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { dropDownList: [{
|
|
253
|
+
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { dropDownList: [{
|
|
221
254
|
type: ViewChild,
|
|
222
255
|
args: ['dropdownlist', { static: true }]
|
|
223
256
|
}], pageSizes: [{
|
|
224
257
|
type: Input
|
|
258
|
+
}], size: [{
|
|
259
|
+
type: Input
|
|
225
260
|
}], classes: [{
|
|
226
261
|
type: HostBinding,
|
|
227
262
|
args: ["class.k-pager-sizes"]
|
|
228
|
-
}, {
|
|
229
|
-
type: HostBinding,
|
|
230
|
-
args: ["class.k-label"]
|
|
231
263
|
}] } });
|
|
@@ -1,20 +1,34 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2022 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
5
|
// eslint-disable no-access-missing-member
|
|
6
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
6
|
+
import { Component, ChangeDetectionStrategy, ChangeDetectorRef, Input } from '@angular/core';
|
|
7
|
+
import { PagerContextService } from "./pager-context.service";
|
|
7
8
|
import { PagerElementComponent } from './pager-element.component';
|
|
9
|
+
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
10
|
+
import { DEFAULT_SIZE } from '../util';
|
|
8
11
|
import * as i0 from "@angular/core";
|
|
9
12
|
import * as i1 from "@progress/kendo-angular-l10n";
|
|
10
13
|
import * as i2 from "./pager-context.service";
|
|
11
|
-
import * as i3 from "
|
|
14
|
+
import * as i3 from "@progress/kendo-angular-buttons";
|
|
15
|
+
import * as i4 from "./focusable.directive";
|
|
12
16
|
/**
|
|
13
17
|
* Displays buttons for navigating to the first and to the previous page ([see example]({% slug pager_settings %})).
|
|
14
18
|
*/
|
|
15
19
|
export class PagerPrevButtonsComponent extends PagerElementComponent {
|
|
16
20
|
constructor(localization, pagerContext, cd) {
|
|
17
21
|
super(localization, pagerContext, cd);
|
|
22
|
+
/**
|
|
23
|
+
* Specifies the padding of the buttons.
|
|
24
|
+
*
|
|
25
|
+
* The possible values are:
|
|
26
|
+
* * `small`
|
|
27
|
+
* * `medium` (default)
|
|
28
|
+
* * `large`
|
|
29
|
+
* * `none`
|
|
30
|
+
*/
|
|
31
|
+
this.size = DEFAULT_SIZE;
|
|
18
32
|
}
|
|
19
33
|
/**
|
|
20
34
|
* @hidden
|
|
@@ -33,55 +47,65 @@ export class PagerPrevButtonsComponent extends PagerElementComponent {
|
|
|
33
47
|
this.cd.markForCheck();
|
|
34
48
|
}
|
|
35
49
|
}
|
|
36
|
-
PagerPrevButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
37
|
-
PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
50
|
+
PagerPrevButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerPrevButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
51
|
+
PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons", inputs: { size: "size" }, usesInheritance: true, ngImport: i0, template: `
|
|
38
52
|
<button
|
|
39
|
-
type="button" kendoPagerFocusable
|
|
40
|
-
class="k-
|
|
41
|
-
[
|
|
53
|
+
type="button" kendoButton kendoPagerFocusable
|
|
54
|
+
class="k-pager-nav k-pager-first"
|
|
55
|
+
[disabled]="disabled"
|
|
56
|
+
icon="caret-alt-to-left"
|
|
57
|
+
fillMode="flat"
|
|
58
|
+
rounded="none"
|
|
59
|
+
[size]="size"
|
|
42
60
|
[title]="textFor('firstPage')"
|
|
43
61
|
[attr.aria-label]="textFor('firstPage')"
|
|
44
|
-
[attr.aria-disabled]="disabled ? true : undefined"
|
|
45
62
|
(click)="currentPage !== 1 ? changePage(0) : false">
|
|
46
|
-
<span class="k-icon k-i-seek-w" role="note" [attr.aria-label]="textFor('firstPage')"></span>
|
|
47
63
|
</button>
|
|
48
64
|
<button
|
|
49
|
-
type="button" kendoPagerFocusable
|
|
50
|
-
class="k-
|
|
51
|
-
[
|
|
65
|
+
type="button" kendoButton kendoPagerFocusable
|
|
66
|
+
class="k-pager-nav"
|
|
67
|
+
[disabled]="disabled"
|
|
68
|
+
icon="caret-alt-left"
|
|
69
|
+
fillMode="flat"
|
|
70
|
+
rounded="none"
|
|
71
|
+
[size]="size"
|
|
52
72
|
[title]="textFor('previousPage')"
|
|
53
73
|
[attr.aria-label]="textFor('previousPage')"
|
|
54
|
-
[attr.aria-disabled]="disabled ? true : undefined"
|
|
55
74
|
(click)="currentPage !== 1 ? changePage(currentPage-2) : false">
|
|
56
|
-
<span class="k-icon k-i-arrow-w" role="note" [attr.aria-label]="textFor('previousPage')"></span>
|
|
57
75
|
</button>
|
|
58
|
-
`, isInline: true,
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
76
|
+
`, isInline: true, components: [{ type: i3.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i4.PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
|
|
60
78
|
type: Component,
|
|
61
79
|
args: [{
|
|
62
80
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
63
81
|
selector: 'kendo-datapager-prev-buttons',
|
|
64
82
|
template: `
|
|
65
83
|
<button
|
|
66
|
-
type="button" kendoPagerFocusable
|
|
67
|
-
class="k-
|
|
68
|
-
[
|
|
84
|
+
type="button" kendoButton kendoPagerFocusable
|
|
85
|
+
class="k-pager-nav k-pager-first"
|
|
86
|
+
[disabled]="disabled"
|
|
87
|
+
icon="caret-alt-to-left"
|
|
88
|
+
fillMode="flat"
|
|
89
|
+
rounded="none"
|
|
90
|
+
[size]="size"
|
|
69
91
|
[title]="textFor('firstPage')"
|
|
70
92
|
[attr.aria-label]="textFor('firstPage')"
|
|
71
|
-
[attr.aria-disabled]="disabled ? true : undefined"
|
|
72
93
|
(click)="currentPage !== 1 ? changePage(0) : false">
|
|
73
|
-
<span class="k-icon k-i-seek-w" role="note" [attr.aria-label]="textFor('firstPage')"></span>
|
|
74
94
|
</button>
|
|
75
95
|
<button
|
|
76
|
-
type="button" kendoPagerFocusable
|
|
77
|
-
class="k-
|
|
78
|
-
[
|
|
96
|
+
type="button" kendoButton kendoPagerFocusable
|
|
97
|
+
class="k-pager-nav"
|
|
98
|
+
[disabled]="disabled"
|
|
99
|
+
icon="caret-alt-left"
|
|
100
|
+
fillMode="flat"
|
|
101
|
+
rounded="none"
|
|
102
|
+
[size]="size"
|
|
79
103
|
[title]="textFor('previousPage')"
|
|
80
104
|
[attr.aria-label]="textFor('previousPage')"
|
|
81
|
-
[attr.aria-disabled]="disabled ? true : undefined"
|
|
82
105
|
(click)="currentPage !== 1 ? changePage(currentPage-2) : false">
|
|
83
|
-
<span class="k-icon k-i-arrow-w" role="note" [attr.aria-label]="textFor('previousPage')"></span>
|
|
84
106
|
</button>
|
|
85
107
|
`
|
|
86
108
|
}]
|
|
87
|
-
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i0.ChangeDetectorRef }]; }
|
|
109
|
+
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}] } });
|
package/{esm2015/pager/pager-template.directive.js → esm2020/pager/pager-template.directive.mjs}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2022 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 { Directive, Optional } from '@angular/core';
|
|
5
|
+
import { Directive, TemplateRef, Optional } from '@angular/core';
|
|
6
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
|
|
@@ -51,9 +51,9 @@ export class PagerTemplateDirective {
|
|
|
51
51
|
this.templateRef = templateRef;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
PagerTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
55
|
-
PagerTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
54
|
+
PagerTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
55
|
+
PagerTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: PagerTemplateDirective, selector: "[kendoDataPagerTemplate]", ngImport: i0 });
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerTemplateDirective, decorators: [{
|
|
57
57
|
type: Directive,
|
|
58
58
|
args: [{
|
|
59
59
|
selector: '[kendoDataPagerTemplate]'
|