@progress/kendo-angular-grid 13.4.0-develop.3 → 13.4.0-develop.5
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/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pager/pager-numeric-buttons.component.mjs +14 -8
- package/esm2020/pager/pager.component.mjs +76 -42
- package/esm2020/rendering/groups-expand.directive.mjs +9 -1
- package/fesm2015/progress-kendo-angular-grid.mjs +395 -349
- package/fesm2020/progress-kendo-angular-grid.mjs +394 -349
- package/package.json +16 -16
- package/pager/pager-numeric-buttons.component.d.ts +2 -1
- package/pager/pager.component.d.ts +5 -1
- package/schematics/ngAdd/index.js +3 -3
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-grid',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
13
|
-
version: '13.4.0-develop.
|
|
12
|
+
publishDate: 1692699707,
|
|
13
|
+
version: '13.4.0-develop.5',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
15
15
|
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright © 2023 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 { ChangeDetectionStrategy, ChangeDetectorRef, Component,
|
|
5
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';
|
|
6
6
|
import { ContextService } from '../common/provider.service';
|
|
7
7
|
import { PagerContextService } from './pager-context.service';
|
|
8
8
|
import { PagerElementComponent } from './pager-element.component';
|
|
@@ -19,7 +19,6 @@ export class PagerNumericButtonsComponent extends PagerElementComponent {
|
|
|
19
19
|
constructor(ctx, cd, pagerContext) {
|
|
20
20
|
super(ctx, pagerContext, cd);
|
|
21
21
|
this.pagerContext = pagerContext;
|
|
22
|
-
this.numbersWrapClass = true;
|
|
23
22
|
}
|
|
24
23
|
/**
|
|
25
24
|
* @hidden
|
|
@@ -89,10 +88,12 @@ export class PagerNumericButtonsComponent extends PagerElementComponent {
|
|
|
89
88
|
}
|
|
90
89
|
}
|
|
91
90
|
PagerNumericButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: i1.ContextService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
92
|
-
PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: { buttonCount: "buttonCount" },
|
|
91
|
+
PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: { buttonCount: "buttonCount" }, viewQueries: [{ propertyName: "selectElement", first: true, predicate: ["select"], descendants: true, read: ElementRef }, { propertyName: "numbersElement", first: true, predicate: ["numbers"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
|
|
93
92
|
<select
|
|
93
|
+
#select
|
|
94
94
|
class="k-dropdown-list k-dropdown k-picker k-picker-solid k-rounded-md"
|
|
95
95
|
kendoGridFocusable
|
|
96
|
+
[style.display]="'none'"
|
|
96
97
|
[attr.title]="textFor('selectPage')"
|
|
97
98
|
[attr.aria-label]="textFor('selectPage')"
|
|
98
99
|
[ngClass]="{
|
|
@@ -119,7 +120,7 @@ PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
119
120
|
[attr.aria-label]="pageLabel(end + 1)">...
|
|
120
121
|
</option>
|
|
121
122
|
</select>
|
|
122
|
-
<div class="k-pager-numbers">
|
|
123
|
+
<div class="k-pager-numbers" #numbers>
|
|
123
124
|
<button *ngIf="start > 1"
|
|
124
125
|
type="button"
|
|
125
126
|
kendoGridFocusable
|
|
@@ -169,8 +170,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
169
170
|
selector: 'kendo-pager-numeric-buttons',
|
|
170
171
|
template: `
|
|
171
172
|
<select
|
|
173
|
+
#select
|
|
172
174
|
class="k-dropdown-list k-dropdown k-picker k-picker-solid k-rounded-md"
|
|
173
175
|
kendoGridFocusable
|
|
176
|
+
[style.display]="'none'"
|
|
174
177
|
[attr.title]="textFor('selectPage')"
|
|
175
178
|
[attr.aria-label]="textFor('selectPage')"
|
|
176
179
|
[ngClass]="{
|
|
@@ -197,7 +200,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
197
200
|
[attr.aria-label]="pageLabel(end + 1)">...
|
|
198
201
|
</option>
|
|
199
202
|
</select>
|
|
200
|
-
<div class="k-pager-numbers">
|
|
203
|
+
<div class="k-pager-numbers" #numbers>
|
|
201
204
|
<button *ngIf="start > 1"
|
|
202
205
|
type="button"
|
|
203
206
|
kendoGridFocusable
|
|
@@ -241,9 +244,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
241
244
|
</div>
|
|
242
245
|
`
|
|
243
246
|
}]
|
|
244
|
-
}], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: {
|
|
245
|
-
type:
|
|
246
|
-
args: ['
|
|
247
|
+
}], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { selectElement: [{
|
|
248
|
+
type: ViewChild,
|
|
249
|
+
args: ['select', { read: ElementRef }]
|
|
250
|
+
}], numbersElement: [{
|
|
251
|
+
type: ViewChild,
|
|
252
|
+
args: ['numbers', { read: ElementRef }]
|
|
247
253
|
}], buttonCount: [{
|
|
248
254
|
type: Input
|
|
249
255
|
}] } });
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright © 2023 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, Input, EventEmitter, Output, HostBinding, ElementRef, Renderer2, HostListener, NgZone, Optional, Inject } from '@angular/core';
|
|
5
|
+
import { Component, Input, EventEmitter, Output, HostBinding, ElementRef, Renderer2, HostListener, NgZone, Optional, Inject, ViewChild } from '@angular/core';
|
|
6
6
|
import { normalize } from './pager-settings';
|
|
7
7
|
import { PagerTemplateDirective } from './pager-template.directive';
|
|
8
8
|
import { anyChanged, replaceMessagePlaceholder } from '../utils';
|
|
@@ -16,6 +16,9 @@ import { FocusGroup } from '../navigation/focus-group';
|
|
|
16
16
|
import { FocusRoot, FOCUS_ROOT_ACTIVE } from '../navigation/focus-root';
|
|
17
17
|
import { findFocusableChild, findLastFocusableChild } from '../rendering/common/dom-queries';
|
|
18
18
|
import { ContextService } from '../common/provider.service';
|
|
19
|
+
import { PagerInfoComponent } from './pager-info.component';
|
|
20
|
+
import { PagerPageSizesComponent } from './pager-page-sizes.component';
|
|
21
|
+
import { PagerNumericButtonsComponent } from './pager-numeric-buttons.component';
|
|
19
22
|
import * as i0 from "@angular/core";
|
|
20
23
|
import * as i1 from "./pager-context.service";
|
|
21
24
|
import * as i2 from "../navigation/navigation.service";
|
|
@@ -59,18 +62,33 @@ export class PagerComponent {
|
|
|
59
62
|
if (this.template || !element) {
|
|
60
63
|
return;
|
|
61
64
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
65
|
+
this.zone.runOutsideAngular(() => {
|
|
66
|
+
setTimeout(() => {
|
|
67
|
+
const width = element.offsetWidth;
|
|
68
|
+
if (this.numericButtons) {
|
|
69
|
+
const selectElement = this.numericButtons.selectElement.nativeElement;
|
|
70
|
+
const numbersElement = this.numericButtons.numbersElement.nativeElement;
|
|
71
|
+
this.renderer.removeStyle(numbersElement, 'display');
|
|
72
|
+
this.renderer.setStyle(selectElement, 'display', 'none');
|
|
73
|
+
if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
|
|
74
|
+
this.renderer.removeStyle(selectElement, 'display');
|
|
75
|
+
this.renderer.setStyle(numbersElement, 'display', 'none');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (this.pagerInfo) {
|
|
79
|
+
this.renderer.removeStyle(this.pagerInfo.nativeElement, 'display');
|
|
80
|
+
if (width < RESPONSIVE_BREAKPOINT_LARGE) {
|
|
81
|
+
this.renderer.setStyle(this.pagerInfo.nativeElement, 'display', 'none');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (this.pagerPageSizes) {
|
|
85
|
+
this.renderer.removeStyle(this.pagerPageSizes.nativeElement, 'display');
|
|
86
|
+
if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
|
|
87
|
+
this.renderer.setStyle(this.pagerPageSizes.nativeElement, 'display', 'none');
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
});
|
|
74
92
|
};
|
|
75
93
|
}
|
|
76
94
|
set options(value) {
|
|
@@ -189,12 +207,10 @@ export class PagerComponent {
|
|
|
189
207
|
}
|
|
190
208
|
const changesInTemplate = changes['template'];
|
|
191
209
|
if (changesInTemplate) {
|
|
192
|
-
|
|
193
|
-
changesInTemplate.currentValue ? this.clearResponsiveClasses() : this.resizeHandler();
|
|
210
|
+
changesInTemplate.currentValue ? this.clearResponsiveStyling() : this.resizeHandler();
|
|
194
211
|
}
|
|
195
212
|
if (changes['options']) {
|
|
196
|
-
|
|
197
|
-
this.settings.responsive ? this.resizeHandler() : this.clearResponsiveClasses();
|
|
213
|
+
this.settings.responsive ? this.resizeHandler() : this.clearResponsiveStyling();
|
|
198
214
|
}
|
|
199
215
|
}
|
|
200
216
|
ngOnDestroy() {
|
|
@@ -220,11 +236,6 @@ export class PagerComponent {
|
|
|
220
236
|
}
|
|
221
237
|
});
|
|
222
238
|
}
|
|
223
|
-
clearResponsiveClasses() {
|
|
224
|
-
const element = this.element.nativeElement;
|
|
225
|
-
this.renderer.removeClass(element, 'k-pager-mobile-sm');
|
|
226
|
-
this.renderer.removeClass(element, 'k-pager-mobile-md');
|
|
227
|
-
}
|
|
228
239
|
shouldTriggerPageChange(target, condition) {
|
|
229
240
|
return this.navigationService.pagerEnabled &&
|
|
230
241
|
target === this.element.nativeElement &&
|
|
@@ -247,6 +258,18 @@ export class PagerComponent {
|
|
|
247
258
|
this.cellContext.focusGroup = this.focusGroup;
|
|
248
259
|
}
|
|
249
260
|
}
|
|
261
|
+
clearResponsiveStyling() {
|
|
262
|
+
this.zone.runOutsideAngular(() => {
|
|
263
|
+
setTimeout(() => {
|
|
264
|
+
if (this.numericButtons) {
|
|
265
|
+
this.renderer.removeStyle(this.numericButtons.numbersElement.nativeElement, 'display');
|
|
266
|
+
this.renderer.setStyle(this.numericButtons.selectElement.nativeElement, 'display', 'none');
|
|
267
|
+
}
|
|
268
|
+
this.pagerInfo && this.renderer.removeStyle(this.pagerInfo.nativeElement, 'display');
|
|
269
|
+
this.pagerPageSizes && this.renderer.removeStyle(this.pagerPageSizes.nativeElement, 'display');
|
|
270
|
+
});
|
|
271
|
+
});
|
|
272
|
+
}
|
|
250
273
|
}
|
|
251
274
|
PagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerComponent, deps: [{ token: i1.PagerContextService }, { token: i2.NavigationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i3.ContextService }, { token: CELL_CONTEXT, optional: true }, { token: i4.FocusRoot }, { token: i5.FocusGroup }], target: i0.ɵɵFactoryTarget.Component });
|
|
252
275
|
PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerComponent, selector: "kendo-pager", inputs: { total: "total", skip: "skip", pageSize: "pageSize", options: "options", size: "size", template: "template" }, outputs: { pageChange: "pageChange" }, host: { listeners: { "focusin": "onFocusIn($event)", "focusout": "onFocusOut()", "keydown.escape": "onEscape()", "keydown.enter": "onEnter($event)", "keydown.arrowleft": "navigateToPreviousPage($event)", "keydown.pageup": "navigateToPreviousPage($event)", "keydown.arrowright": "navigateToNextPage($event)", "keydown.pagedown": "navigateToNextPage($event)", "keydown.home": "navigateToFirstPage($event)", "keydown.end": "navigateToLastPage($event)" }, properties: { "class.k-pager-wrap": "this.pagerWrapClass", "class.k-grid-pager": "this.gridPagerClass", "class.k-pager-sm": "this.sizeSmallClass", "class.k-pager-md": "this.sizeMediumClass", "class.k-focus": "this.isFocused", "attr.aria-label": "this.pagerAriaLabel" } }, providers: [{
|
|
@@ -260,7 +283,7 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
260
283
|
provide: FocusGroup,
|
|
261
284
|
deps: [FocusRoot],
|
|
262
285
|
useClass: FocusGroup
|
|
263
|
-
}], usesOnChanges: true, ngImport: i0, template: `
|
|
286
|
+
}], viewQueries: [{ propertyName: "pagerInfo", first: true, predicate: PagerInfoComponent, descendants: true, read: ElementRef }, { propertyName: "pagerPageSizes", first: true, predicate: PagerPageSizesComponent, descendants: true, read: ElementRef }, { propertyName: "numericButtons", first: true, predicate: PagerNumericButtonsComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
264
287
|
<div
|
|
265
288
|
*ngIf="navigationService.pagerEnabled"
|
|
266
289
|
class="k-sr-only"
|
|
@@ -274,20 +297,21 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
274
297
|
[ngTemplateOutletContext]="templateContext">
|
|
275
298
|
</ng-container>
|
|
276
299
|
<ng-container *ngIf="!template?.templateRef">
|
|
277
|
-
<
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
300
|
+
<div class="k-pager-numbers-wrap">
|
|
301
|
+
<kendo-pager-prev-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-prev-buttons>
|
|
302
|
+
<kendo-pager-numeric-buttons
|
|
303
|
+
[size]="size"
|
|
304
|
+
*ngIf="settings.type === 'numeric'"
|
|
305
|
+
[buttonCount]="settings.buttonCount">
|
|
306
|
+
</kendo-pager-numeric-buttons>
|
|
307
|
+
<kendo-pager-input [size]="size" *ngIf="settings.type === 'input'"></kendo-pager-input>
|
|
308
|
+
<kendo-pager-next-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-next-buttons>
|
|
309
|
+
</div>
|
|
285
310
|
<kendo-pager-info *ngIf='settings.info'></kendo-pager-info>
|
|
286
311
|
<kendo-pager-page-sizes
|
|
287
312
|
[size]="size"
|
|
288
313
|
*ngIf="settings.pageSizes"
|
|
289
314
|
[pageSizes]="$any(settings.pageSizes)"
|
|
290
|
-
#pageSizes
|
|
291
315
|
></kendo-pager-page-sizes>
|
|
292
316
|
</ng-container>
|
|
293
317
|
<div
|
|
@@ -329,20 +353,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
329
353
|
[ngTemplateOutletContext]="templateContext">
|
|
330
354
|
</ng-container>
|
|
331
355
|
<ng-container *ngIf="!template?.templateRef">
|
|
332
|
-
<
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
356
|
+
<div class="k-pager-numbers-wrap">
|
|
357
|
+
<kendo-pager-prev-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-prev-buttons>
|
|
358
|
+
<kendo-pager-numeric-buttons
|
|
359
|
+
[size]="size"
|
|
360
|
+
*ngIf="settings.type === 'numeric'"
|
|
361
|
+
[buttonCount]="settings.buttonCount">
|
|
362
|
+
</kendo-pager-numeric-buttons>
|
|
363
|
+
<kendo-pager-input [size]="size" *ngIf="settings.type === 'input'"></kendo-pager-input>
|
|
364
|
+
<kendo-pager-next-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-next-buttons>
|
|
365
|
+
</div>
|
|
340
366
|
<kendo-pager-info *ngIf='settings.info'></kendo-pager-info>
|
|
341
367
|
<kendo-pager-page-sizes
|
|
342
368
|
[size]="size"
|
|
343
369
|
*ngIf="settings.pageSizes"
|
|
344
370
|
[pageSizes]="$any(settings.pageSizes)"
|
|
345
|
-
#pageSizes
|
|
346
371
|
></kendo-pager-page-sizes>
|
|
347
372
|
</ng-container>
|
|
348
373
|
<div
|
|
@@ -360,7 +385,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
360
385
|
}, {
|
|
361
386
|
type: Inject,
|
|
362
387
|
args: [CELL_CONTEXT]
|
|
363
|
-
}] }, { type: i4.FocusRoot }, { type: i5.FocusGroup }]; }, propDecorators: {
|
|
388
|
+
}] }, { type: i4.FocusRoot }, { type: i5.FocusGroup }]; }, propDecorators: { pagerInfo: [{
|
|
389
|
+
type: ViewChild,
|
|
390
|
+
args: [PagerInfoComponent, { read: ElementRef }]
|
|
391
|
+
}], pagerPageSizes: [{
|
|
392
|
+
type: ViewChild,
|
|
393
|
+
args: [PagerPageSizesComponent, { read: ElementRef }]
|
|
394
|
+
}], numericButtons: [{
|
|
395
|
+
type: ViewChild,
|
|
396
|
+
args: [PagerNumericButtonsComponent]
|
|
397
|
+
}], total: [{
|
|
364
398
|
type: Input
|
|
365
399
|
}], skip: [{
|
|
366
400
|
type: Input
|
|
@@ -101,7 +101,15 @@ export class ExpandGroupDirective {
|
|
|
101
101
|
this.expandedGroupKeys.push(key);
|
|
102
102
|
}
|
|
103
103
|
else {
|
|
104
|
-
const index = this.expandedGroupKeys.
|
|
104
|
+
const index = this.expandedGroupKeys.findIndex(group => {
|
|
105
|
+
if (this.expandGroupBy) {
|
|
106
|
+
return group === key;
|
|
107
|
+
}
|
|
108
|
+
else if (key.parentGroupKeys?.length === 0) {
|
|
109
|
+
return group.value === key.value;
|
|
110
|
+
}
|
|
111
|
+
return JSON.stringify(group) === JSON.stringify(key);
|
|
112
|
+
});
|
|
105
113
|
this.expandedGroupKeys.splice(index, 1);
|
|
106
114
|
}
|
|
107
115
|
this.expandedGroupKeysChange.emit(this.expandedGroupKeys.slice());
|