@progress/kendo-angular-pager 20.1.1 → 20.1.2-develop.1
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/esm2022/package-metadata.mjs +2 -2
- package/esm2022/pager/pager-context.service.mjs +3 -1
- package/esm2022/pager/pager-page-sizes.component.mjs +3 -2
- package/esm2022/pager/pager.component.mjs +18 -1
- package/fesm2022/progress-kendo-angular-pager.mjs +26 -6
- package/package.json +8 -8
- package/pager/pager-context.service.d.ts +2 -0
- package/pager/pager-page-sizes.component.d.ts +1 -1
- package/pager/pager.component.d.ts +1 -0
- package/schematics/ngAdd/index.js +6 -6
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '20.1.1',
|
|
13
|
+
publishDate: 1761294766,
|
|
14
|
+
version: '20.1.2-develop.1',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -10,6 +10,7 @@ export class PagerContextService {
|
|
|
10
10
|
total;
|
|
11
11
|
skip;
|
|
12
12
|
pageSize;
|
|
13
|
+
isAllSelected = false;
|
|
13
14
|
localization;
|
|
14
15
|
changes = new Subject();
|
|
15
16
|
pageChange = new Subject();
|
|
@@ -19,8 +20,9 @@ export class PagerContextService {
|
|
|
19
20
|
}
|
|
20
21
|
notifyChanges(changes) {
|
|
21
22
|
this.total = changes.total;
|
|
22
|
-
this.pageSize = changes.pageSize;
|
|
23
23
|
this.skip = changes.skip;
|
|
24
|
+
this.pageSize = changes.pageSize;
|
|
25
|
+
this.isAllSelected = changes.isAllSelected || false;
|
|
24
26
|
this.changes.next(changes);
|
|
25
27
|
}
|
|
26
28
|
changePage(page) {
|
|
@@ -124,10 +124,11 @@ export class PagerPageSizesComponent extends PagerElementComponent {
|
|
|
124
124
|
dropdownlist.writeValue(this.pageSize);
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
onChanges({ total, skip, pageSize }) {
|
|
127
|
+
onChanges({ total, skip, pageSize, isAllSelected }) {
|
|
128
128
|
this.total = total;
|
|
129
129
|
this.skip = skip;
|
|
130
|
-
|
|
130
|
+
const normalizedPageSize = typeof pageSize === 'number' ? pageSize : this.total;
|
|
131
|
+
this.pageSize = isAllSelected ? 'all' : normalizedPageSize;
|
|
131
132
|
this.cd.markForCheck();
|
|
132
133
|
}
|
|
133
134
|
keyDownHandler(ev) {
|
|
@@ -302,6 +302,7 @@ export class PagerComponent {
|
|
|
302
302
|
_showInput = true;
|
|
303
303
|
_showPageText = true;
|
|
304
304
|
_showItemsText = true;
|
|
305
|
+
_isAllSelected = false;
|
|
305
306
|
/**
|
|
306
307
|
* Stores the measurements of various Pager elements.
|
|
307
308
|
* These dimensions are used for responsive layout calculations.
|
|
@@ -392,15 +393,29 @@ export class PagerComponent {
|
|
|
392
393
|
}
|
|
393
394
|
ngOnChanges(changes) {
|
|
394
395
|
if (anyChanged(["pageSize", "skip", "total"], changes, false)) {
|
|
396
|
+
const previousTotal = changes['total']?.previousValue;
|
|
397
|
+
const currentTotal = this.total;
|
|
398
|
+
let pageSizeAdjusted = false;
|
|
399
|
+
if (this._isAllSelected && previousTotal && currentTotal !== previousTotal && this.pageSize === previousTotal) {
|
|
400
|
+
this.pageSize = currentTotal;
|
|
401
|
+
pageSizeAdjusted = true;
|
|
402
|
+
}
|
|
395
403
|
const previousButtonCount = Math.min(this.buttonCount, (changes['total']?.previousValue || this.total) / (changes['pageSize']?.previousValue || this.pageSize));
|
|
396
404
|
this.pagerContext.notifyChanges({
|
|
397
405
|
pageSize: this.pageSize,
|
|
398
406
|
skip: this.skip,
|
|
399
|
-
total: this.total
|
|
407
|
+
total: this.total,
|
|
408
|
+
isAllSelected: this._isAllSelected
|
|
400
409
|
});
|
|
401
410
|
this.pagerDimensions.numericButtonsWidth = (this.pagerDimensions.numericButtonsWidth * Math.min(this.buttonCount, this.total / this.pageSize)) / previousButtonCount;
|
|
402
411
|
this.renderer.setAttribute(this.element.nativeElement, 'aria-label', this.ariaLabel);
|
|
403
412
|
this.responsive && this.resizeHandler(false);
|
|
413
|
+
if (pageSizeAdjusted) {
|
|
414
|
+
Promise.resolve().then(() => {
|
|
415
|
+
this.pageChange.emit({ skip: this.skip, take: currentTotal });
|
|
416
|
+
this.cdr.detectChanges();
|
|
417
|
+
});
|
|
418
|
+
}
|
|
404
419
|
}
|
|
405
420
|
if (anyChanged(["pageSizeValues", "previousNext", "buttonCount"], changes, true)) {
|
|
406
421
|
this.responsive && this.resizeHandler(false);
|
|
@@ -436,9 +451,11 @@ export class PagerComponent {
|
|
|
436
451
|
this.pageSizeChange.emit(event);
|
|
437
452
|
if (!event.isDefaultPrevented()) {
|
|
438
453
|
if (event.newPageSize === 'all') {
|
|
454
|
+
this._isAllSelected = true;
|
|
439
455
|
this.pageChange.emit({ skip: 0, take: this.total });
|
|
440
456
|
}
|
|
441
457
|
else {
|
|
458
|
+
this._isAllSelected = false;
|
|
442
459
|
this.pageChange.emit({ skip: 0, take: event.newPageSize });
|
|
443
460
|
}
|
|
444
461
|
}
|
|
@@ -239,6 +239,7 @@ class PagerContextService {
|
|
|
239
239
|
total;
|
|
240
240
|
skip;
|
|
241
241
|
pageSize;
|
|
242
|
+
isAllSelected = false;
|
|
242
243
|
localization;
|
|
243
244
|
changes = new Subject();
|
|
244
245
|
pageChange = new Subject();
|
|
@@ -248,8 +249,9 @@ class PagerContextService {
|
|
|
248
249
|
}
|
|
249
250
|
notifyChanges(changes) {
|
|
250
251
|
this.total = changes.total;
|
|
251
|
-
this.pageSize = changes.pageSize;
|
|
252
252
|
this.skip = changes.skip;
|
|
253
|
+
this.pageSize = changes.pageSize;
|
|
254
|
+
this.isAllSelected = changes.isAllSelected || false;
|
|
253
255
|
this.changes.next(changes);
|
|
254
256
|
}
|
|
255
257
|
changePage(page) {
|
|
@@ -823,10 +825,11 @@ class PagerPageSizesComponent extends PagerElementComponent {
|
|
|
823
825
|
dropdownlist.writeValue(this.pageSize);
|
|
824
826
|
}
|
|
825
827
|
}
|
|
826
|
-
onChanges({ total, skip, pageSize }) {
|
|
828
|
+
onChanges({ total, skip, pageSize, isAllSelected }) {
|
|
827
829
|
this.total = total;
|
|
828
830
|
this.skip = skip;
|
|
829
|
-
|
|
831
|
+
const normalizedPageSize = typeof pageSize === 'number' ? pageSize : this.total;
|
|
832
|
+
this.pageSize = isAllSelected ? 'all' : normalizedPageSize;
|
|
830
833
|
this.cd.markForCheck();
|
|
831
834
|
}
|
|
832
835
|
keyDownHandler(ev) {
|
|
@@ -1519,8 +1522,8 @@ const packageMetadata = {
|
|
|
1519
1522
|
productName: 'Kendo UI for Angular',
|
|
1520
1523
|
productCode: 'KENDOUIANGULAR',
|
|
1521
1524
|
productCodes: ['KENDOUIANGULAR'],
|
|
1522
|
-
publishDate:
|
|
1523
|
-
version: '20.1.1',
|
|
1525
|
+
publishDate: 1761294766,
|
|
1526
|
+
version: '20.1.2-develop.1',
|
|
1524
1527
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
1525
1528
|
};
|
|
1526
1529
|
|
|
@@ -1801,6 +1804,7 @@ class PagerComponent {
|
|
|
1801
1804
|
_showInput = true;
|
|
1802
1805
|
_showPageText = true;
|
|
1803
1806
|
_showItemsText = true;
|
|
1807
|
+
_isAllSelected = false;
|
|
1804
1808
|
/**
|
|
1805
1809
|
* Stores the measurements of various Pager elements.
|
|
1806
1810
|
* These dimensions are used for responsive layout calculations.
|
|
@@ -1891,15 +1895,29 @@ class PagerComponent {
|
|
|
1891
1895
|
}
|
|
1892
1896
|
ngOnChanges(changes) {
|
|
1893
1897
|
if (anyChanged(["pageSize", "skip", "total"], changes, false)) {
|
|
1898
|
+
const previousTotal = changes['total']?.previousValue;
|
|
1899
|
+
const currentTotal = this.total;
|
|
1900
|
+
let pageSizeAdjusted = false;
|
|
1901
|
+
if (this._isAllSelected && previousTotal && currentTotal !== previousTotal && this.pageSize === previousTotal) {
|
|
1902
|
+
this.pageSize = currentTotal;
|
|
1903
|
+
pageSizeAdjusted = true;
|
|
1904
|
+
}
|
|
1894
1905
|
const previousButtonCount = Math.min(this.buttonCount, (changes['total']?.previousValue || this.total) / (changes['pageSize']?.previousValue || this.pageSize));
|
|
1895
1906
|
this.pagerContext.notifyChanges({
|
|
1896
1907
|
pageSize: this.pageSize,
|
|
1897
1908
|
skip: this.skip,
|
|
1898
|
-
total: this.total
|
|
1909
|
+
total: this.total,
|
|
1910
|
+
isAllSelected: this._isAllSelected
|
|
1899
1911
|
});
|
|
1900
1912
|
this.pagerDimensions.numericButtonsWidth = (this.pagerDimensions.numericButtonsWidth * Math.min(this.buttonCount, this.total / this.pageSize)) / previousButtonCount;
|
|
1901
1913
|
this.renderer.setAttribute(this.element.nativeElement, 'aria-label', this.ariaLabel);
|
|
1902
1914
|
this.responsive && this.resizeHandler(false);
|
|
1915
|
+
if (pageSizeAdjusted) {
|
|
1916
|
+
Promise.resolve().then(() => {
|
|
1917
|
+
this.pageChange.emit({ skip: this.skip, take: currentTotal });
|
|
1918
|
+
this.cdr.detectChanges();
|
|
1919
|
+
});
|
|
1920
|
+
}
|
|
1903
1921
|
}
|
|
1904
1922
|
if (anyChanged(["pageSizeValues", "previousNext", "buttonCount"], changes, true)) {
|
|
1905
1923
|
this.responsive && this.resizeHandler(false);
|
|
@@ -1935,9 +1953,11 @@ class PagerComponent {
|
|
|
1935
1953
|
this.pageSizeChange.emit(event);
|
|
1936
1954
|
if (!event.isDefaultPrevented()) {
|
|
1937
1955
|
if (event.newPageSize === 'all') {
|
|
1956
|
+
this._isAllSelected = true;
|
|
1938
1957
|
this.pageChange.emit({ skip: 0, take: this.total });
|
|
1939
1958
|
}
|
|
1940
1959
|
else {
|
|
1960
|
+
this._isAllSelected = false;
|
|
1941
1961
|
this.pageChange.emit({ skip: 0, take: event.newPageSize });
|
|
1942
1962
|
}
|
|
1943
1963
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-pager",
|
|
3
|
-
"version": "20.1.1",
|
|
3
|
+
"version": "20.1.2-develop.1",
|
|
4
4
|
"description": "Kendo UI Angular Pager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"package": {
|
|
18
18
|
"productName": "Kendo UI for Angular",
|
|
19
19
|
"productCode": "KENDOUIANGULAR",
|
|
20
|
-
"publishDate":
|
|
20
|
+
"publishDate": 1761294766,
|
|
21
21
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
@@ -27,16 +27,16 @@
|
|
|
27
27
|
"@angular/core": "16 - 20",
|
|
28
28
|
"@angular/platform-browser": "16 - 20",
|
|
29
29
|
"@progress/kendo-licensing": "^1.7.0",
|
|
30
|
-
"@progress/kendo-angular-common": "20.1.1",
|
|
31
|
-
"@progress/kendo-angular-dropdowns": "20.1.1",
|
|
32
|
-
"@progress/kendo-angular-inputs": "20.1.1",
|
|
33
|
-
"@progress/kendo-angular-icons": "20.1.1",
|
|
34
|
-
"@progress/kendo-angular-l10n": "20.1.1",
|
|
30
|
+
"@progress/kendo-angular-common": "20.1.2-develop.1",
|
|
31
|
+
"@progress/kendo-angular-dropdowns": "20.1.2-develop.1",
|
|
32
|
+
"@progress/kendo-angular-inputs": "20.1.2-develop.1",
|
|
33
|
+
"@progress/kendo-angular-icons": "20.1.2-develop.1",
|
|
34
|
+
"@progress/kendo-angular-l10n": "20.1.2-develop.1",
|
|
35
35
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"tslib": "^2.3.1",
|
|
39
|
-
"@progress/kendo-angular-schematics": "20.1.1"
|
|
39
|
+
"@progress/kendo-angular-schematics": "20.1.2-develop.1"
|
|
40
40
|
},
|
|
41
41
|
"schematics": "./schematics/collection.json",
|
|
42
42
|
"module": "fesm2022/progress-kendo-angular-pager.mjs",
|
|
@@ -13,6 +13,7 @@ export type PagerContextChanges = {
|
|
|
13
13
|
total: number;
|
|
14
14
|
skip: number;
|
|
15
15
|
pageSize: number;
|
|
16
|
+
isAllSelected?: boolean;
|
|
16
17
|
};
|
|
17
18
|
/**
|
|
18
19
|
* @hidden
|
|
@@ -21,6 +22,7 @@ export declare class PagerContextService {
|
|
|
21
22
|
total: number;
|
|
22
23
|
skip: number;
|
|
23
24
|
pageSize: number;
|
|
25
|
+
isAllSelected: boolean;
|
|
24
26
|
localization: LocalizationService;
|
|
25
27
|
changes: Subject<PagerContextChanges>;
|
|
26
28
|
pageChange: Subject<PageChangeEvent>;
|
|
@@ -74,7 +74,7 @@ export declare class PagerPageSizesComponent extends PagerElementComponent imple
|
|
|
74
74
|
* @hidden
|
|
75
75
|
*/
|
|
76
76
|
pageSizeChange(value: any, dropdownlist: DropDownListComponent): void;
|
|
77
|
-
protected onChanges({ total, skip, pageSize }: PagerContextChanges): void;
|
|
77
|
+
protected onChanges({ total, skip, pageSize, isAllSelected }: PagerContextChanges): void;
|
|
78
78
|
private keyDownHandler;
|
|
79
79
|
static ɵfac: i0.ɵɵFactoryDeclaration<PagerPageSizesComponent, never>;
|
|
80
80
|
static ɵcmp: i0.ɵɵComponentDeclaration<PagerPageSizesComponent, "kendo-datapager-page-sizes, kendo-pager-page-sizes", never, { "showItemsText": { "alias": "showItemsText"; "required": false; }; "pageSizes": { "alias": "pageSizes"; "required": false; }; "size": { "alias": "size"; "required": false; }; "adaptiveMode": { "alias": "adaptiveMode"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -216,6 +216,7 @@ export declare class PagerComponent implements OnChanges, AfterViewInit, OnInit,
|
|
|
216
216
|
private _showInput;
|
|
217
217
|
private _showPageText;
|
|
218
218
|
private _showItemsText;
|
|
219
|
+
private _isAllSelected;
|
|
219
220
|
/**
|
|
220
221
|
* Stores the measurements of various Pager elements.
|
|
221
222
|
* These dimensions are used for responsive layout calculations.
|
|
@@ -4,14 +4,14 @@ const schematics_1 = require("@angular-devkit/schematics");
|
|
|
4
4
|
function default_1(options) {
|
|
5
5
|
const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'PagerModule', package: 'pager', peerDependencies: {
|
|
6
6
|
// Peers of inputs and dropdowns
|
|
7
|
-
'@progress/kendo-angular-treeview': '20.1.1',
|
|
8
|
-
'@progress/kendo-angular-intl': '20.1.1',
|
|
9
|
-
'@progress/kendo-angular-navigation': '20.1.1',
|
|
10
|
-
'@progress/kendo-angular-popup': '20.1.1',
|
|
7
|
+
'@progress/kendo-angular-treeview': '20.1.2-develop.1',
|
|
8
|
+
'@progress/kendo-angular-intl': '20.1.2-develop.1',
|
|
9
|
+
'@progress/kendo-angular-navigation': '20.1.2-develop.1',
|
|
10
|
+
'@progress/kendo-angular-popup': '20.1.2-develop.1',
|
|
11
11
|
'@progress/kendo-drawing': '^1.5.12',
|
|
12
12
|
// peer dependency of kendo-angular-inputs
|
|
13
|
-
'@progress/kendo-angular-buttons': '20.1.1',
|
|
14
|
-
'@progress/kendo-angular-dialog': '20.1.1',
|
|
13
|
+
'@progress/kendo-angular-buttons': '20.1.2-develop.1',
|
|
14
|
+
'@progress/kendo-angular-dialog': '20.1.2-develop.1',
|
|
15
15
|
// Peer dependency of icons
|
|
16
16
|
'@progress/kendo-svg-icons': '^4.0.0'
|
|
17
17
|
} });
|