@progress/kendo-angular-grid 19.2.0-develop.2 → 19.2.0-develop.3
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/selection/selection-checkbox.directive.mjs +1 -1
- package/esm2022/selection/selection.service.mjs +23 -4
- package/fesm2022/progress-kendo-angular-grid.mjs +26 -7
- package/package.json +20 -20
- package/schematics/ngAdd/index.js +4 -4
- package/selection/selection.service.d.ts +1 -1
|
@@ -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: '19.2.0-develop.
|
|
13
|
+
publishDate: 1750851099,
|
|
14
|
+
version: '19.2.0-develop.3',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -82,7 +82,7 @@ export class SelectionCheckboxDirective {
|
|
|
82
82
|
const ctrlKey = event.ctrlKey || event.metaKey;
|
|
83
83
|
if (event.shiftKey && this.selectionService.options.mode === 'multiple') {
|
|
84
84
|
const item = { index: this.itemIndex };
|
|
85
|
-
ev = this.selectionService.addAllTo(item, ctrlKey);
|
|
85
|
+
ev = this.selectionService.addAllTo(item, ctrlKey, false, event.shiftKey);
|
|
86
86
|
}
|
|
87
87
|
else {
|
|
88
88
|
ev = this.selectionService.toggleByIndex(this.itemIndex);
|
|
@@ -143,6 +143,8 @@ export class SelectionService {
|
|
|
143
143
|
if (ev.shiftKey) {
|
|
144
144
|
ev.rangeStartRow = { dataItem: this.lastSelectionData, index: this.lastSelectionStartIndex };
|
|
145
145
|
ev.rangeEndRow = { dataItem: item.data, index: item.index };
|
|
146
|
+
this.lastSelectionData = item.data;
|
|
147
|
+
this.lastSelectionStartIndex = item.index;
|
|
146
148
|
}
|
|
147
149
|
this.syncCurrentSelection(ev);
|
|
148
150
|
this.changes.emit(ev);
|
|
@@ -231,13 +233,14 @@ export class SelectionService {
|
|
|
231
233
|
item = iterator.next();
|
|
232
234
|
}
|
|
233
235
|
}
|
|
234
|
-
addAllTo(item, ctrlKey, preserveSelection = false) {
|
|
236
|
+
addAllTo(item, ctrlKey, preserveSelection = false, shiftKey = false) {
|
|
235
237
|
const selectedRows = [];
|
|
236
238
|
const deselectedRows = [];
|
|
237
239
|
const start = Math.min(this.lastSelectionStartIndex, item.index);
|
|
238
240
|
const end = Math.max(this.lastSelectionStartIndex, item.index);
|
|
239
241
|
const iterator = this.getIterator();
|
|
240
242
|
let next = iterator.next();
|
|
243
|
+
let selectedItem;
|
|
241
244
|
while (!next.done) {
|
|
242
245
|
if (next.value && next.value.type === "data") {
|
|
243
246
|
const idx = next.value.index;
|
|
@@ -248,6 +251,9 @@ export class SelectionService {
|
|
|
248
251
|
if ((idx >= start && idx <= end) && !this.isSelected(idx) && !this.nonSelectableRows.has(idx)) {
|
|
249
252
|
selectedRows.push(rowArgs);
|
|
250
253
|
}
|
|
254
|
+
if (idx === item.index && !this.nonSelectableRows.has(idx)) {
|
|
255
|
+
selectedItem = rowArgs;
|
|
256
|
+
}
|
|
251
257
|
}
|
|
252
258
|
next = iterator.next();
|
|
253
259
|
}
|
|
@@ -255,10 +261,23 @@ export class SelectionService {
|
|
|
255
261
|
const nonSelectableRows = this.currentSelection.filter(i => this.nonSelectableRows.has(i.index));
|
|
256
262
|
deselectedRows.push(...nonSelectableRows);
|
|
257
263
|
}
|
|
258
|
-
|
|
259
|
-
deselectedRows
|
|
260
|
-
selectedRows
|
|
264
|
+
const selectionEvent = {
|
|
265
|
+
deselectedRows,
|
|
266
|
+
selectedRows
|
|
261
267
|
};
|
|
268
|
+
if (shiftKey && selectedItem) {
|
|
269
|
+
selectionEvent.rangeStartRow = {
|
|
270
|
+
dataItem: this.lastSelectionData,
|
|
271
|
+
index: this.lastSelectionStartIndex
|
|
272
|
+
};
|
|
273
|
+
selectionEvent.rangeEndRow = {
|
|
274
|
+
dataItem: selectedItem.dataItem,
|
|
275
|
+
index: selectedItem.index
|
|
276
|
+
};
|
|
277
|
+
this.lastSelectionData = selectedItem.dataItem;
|
|
278
|
+
this.lastSelectionStartIndex = selectedItem.index;
|
|
279
|
+
}
|
|
280
|
+
return selectionEvent;
|
|
262
281
|
}
|
|
263
282
|
updateAll(selectAllChecked) {
|
|
264
283
|
this.selectAllChecked = selectAllChecked;
|
|
@@ -16985,6 +16985,8 @@ class SelectionService {
|
|
|
16985
16985
|
if (ev.shiftKey) {
|
|
16986
16986
|
ev.rangeStartRow = { dataItem: this.lastSelectionData, index: this.lastSelectionStartIndex };
|
|
16987
16987
|
ev.rangeEndRow = { dataItem: item.data, index: item.index };
|
|
16988
|
+
this.lastSelectionData = item.data;
|
|
16989
|
+
this.lastSelectionStartIndex = item.index;
|
|
16988
16990
|
}
|
|
16989
16991
|
this.syncCurrentSelection(ev);
|
|
16990
16992
|
this.changes.emit(ev);
|
|
@@ -17073,13 +17075,14 @@ class SelectionService {
|
|
|
17073
17075
|
item = iterator.next();
|
|
17074
17076
|
}
|
|
17075
17077
|
}
|
|
17076
|
-
addAllTo(item, ctrlKey, preserveSelection = false) {
|
|
17078
|
+
addAllTo(item, ctrlKey, preserveSelection = false, shiftKey = false) {
|
|
17077
17079
|
const selectedRows = [];
|
|
17078
17080
|
const deselectedRows = [];
|
|
17079
17081
|
const start = Math.min(this.lastSelectionStartIndex, item.index);
|
|
17080
17082
|
const end = Math.max(this.lastSelectionStartIndex, item.index);
|
|
17081
17083
|
const iterator = this.getIterator();
|
|
17082
17084
|
let next = iterator.next();
|
|
17085
|
+
let selectedItem;
|
|
17083
17086
|
while (!next.done) {
|
|
17084
17087
|
if (next.value && next.value.type === "data") {
|
|
17085
17088
|
const idx = next.value.index;
|
|
@@ -17090,6 +17093,9 @@ class SelectionService {
|
|
|
17090
17093
|
if ((idx >= start && idx <= end) && !this.isSelected(idx) && !this.nonSelectableRows.has(idx)) {
|
|
17091
17094
|
selectedRows.push(rowArgs);
|
|
17092
17095
|
}
|
|
17096
|
+
if (idx === item.index && !this.nonSelectableRows.has(idx)) {
|
|
17097
|
+
selectedItem = rowArgs;
|
|
17098
|
+
}
|
|
17093
17099
|
}
|
|
17094
17100
|
next = iterator.next();
|
|
17095
17101
|
}
|
|
@@ -17097,10 +17103,23 @@ class SelectionService {
|
|
|
17097
17103
|
const nonSelectableRows = this.currentSelection.filter(i => this.nonSelectableRows.has(i.index));
|
|
17098
17104
|
deselectedRows.push(...nonSelectableRows);
|
|
17099
17105
|
}
|
|
17100
|
-
|
|
17101
|
-
deselectedRows
|
|
17102
|
-
selectedRows
|
|
17106
|
+
const selectionEvent = {
|
|
17107
|
+
deselectedRows,
|
|
17108
|
+
selectedRows
|
|
17103
17109
|
};
|
|
17110
|
+
if (shiftKey && selectedItem) {
|
|
17111
|
+
selectionEvent.rangeStartRow = {
|
|
17112
|
+
dataItem: this.lastSelectionData,
|
|
17113
|
+
index: this.lastSelectionStartIndex
|
|
17114
|
+
};
|
|
17115
|
+
selectionEvent.rangeEndRow = {
|
|
17116
|
+
dataItem: selectedItem.dataItem,
|
|
17117
|
+
index: selectedItem.index
|
|
17118
|
+
};
|
|
17119
|
+
this.lastSelectionData = selectedItem.dataItem;
|
|
17120
|
+
this.lastSelectionStartIndex = selectedItem.index;
|
|
17121
|
+
}
|
|
17122
|
+
return selectionEvent;
|
|
17104
17123
|
}
|
|
17105
17124
|
updateAll(selectAllChecked) {
|
|
17106
17125
|
this.selectAllChecked = selectAllChecked;
|
|
@@ -19089,7 +19108,7 @@ class SelectionCheckboxDirective {
|
|
|
19089
19108
|
const ctrlKey = event.ctrlKey || event.metaKey;
|
|
19090
19109
|
if (event.shiftKey && this.selectionService.options.mode === 'multiple') {
|
|
19091
19110
|
const item = { index: this.itemIndex };
|
|
19092
|
-
ev = this.selectionService.addAllTo(item, ctrlKey);
|
|
19111
|
+
ev = this.selectionService.addAllTo(item, ctrlKey, false, event.shiftKey);
|
|
19093
19112
|
}
|
|
19094
19113
|
else {
|
|
19095
19114
|
ev = this.selectionService.toggleByIndex(this.itemIndex);
|
|
@@ -21194,8 +21213,8 @@ const packageMetadata = {
|
|
|
21194
21213
|
productName: 'Kendo UI for Angular',
|
|
21195
21214
|
productCode: 'KENDOUIANGULAR',
|
|
21196
21215
|
productCodes: ['KENDOUIANGULAR'],
|
|
21197
|
-
publishDate:
|
|
21198
|
-
version: '19.2.0-develop.
|
|
21216
|
+
publishDate: 1750851099,
|
|
21217
|
+
version: '19.2.0-develop.3',
|
|
21199
21218
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
21200
21219
|
};
|
|
21201
21220
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-grid",
|
|
3
|
-
"version": "19.2.0-develop.
|
|
3
|
+
"version": "19.2.0-develop.3",
|
|
4
4
|
"description": "Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"package": {
|
|
27
27
|
"productName": "Kendo UI for Angular",
|
|
28
28
|
"productCode": "KENDOUIANGULAR",
|
|
29
|
-
"publishDate":
|
|
29
|
+
"publishDate": 1750851099,
|
|
30
30
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
31
31
|
}
|
|
32
32
|
},
|
|
@@ -39,28 +39,28 @@
|
|
|
39
39
|
"@progress/kendo-data-query": "^1.0.0",
|
|
40
40
|
"@progress/kendo-drawing": "^1.21.0",
|
|
41
41
|
"@progress/kendo-licensing": "^1.5.0",
|
|
42
|
-
"@progress/kendo-angular-buttons": "19.2.0-develop.
|
|
43
|
-
"@progress/kendo-angular-common": "19.2.0-develop.
|
|
44
|
-
"@progress/kendo-angular-dateinputs": "19.2.0-develop.
|
|
45
|
-
"@progress/kendo-angular-layout": "19.2.0-develop.
|
|
46
|
-
"@progress/kendo-angular-navigation": "19.2.0-develop.
|
|
47
|
-
"@progress/kendo-angular-dropdowns": "19.2.0-develop.
|
|
48
|
-
"@progress/kendo-angular-excel-export": "19.2.0-develop.
|
|
49
|
-
"@progress/kendo-angular-icons": "19.2.0-develop.
|
|
50
|
-
"@progress/kendo-angular-inputs": "19.2.0-develop.
|
|
51
|
-
"@progress/kendo-angular-intl": "19.2.0-develop.
|
|
52
|
-
"@progress/kendo-angular-l10n": "19.2.0-develop.
|
|
53
|
-
"@progress/kendo-angular-label": "19.2.0-develop.
|
|
54
|
-
"@progress/kendo-angular-pager": "19.2.0-develop.
|
|
55
|
-
"@progress/kendo-angular-pdf-export": "19.2.0-develop.
|
|
56
|
-
"@progress/kendo-angular-popup": "19.2.0-develop.
|
|
57
|
-
"@progress/kendo-angular-toolbar": "19.2.0-develop.
|
|
58
|
-
"@progress/kendo-angular-utils": "19.2.0-develop.
|
|
42
|
+
"@progress/kendo-angular-buttons": "19.2.0-develop.3",
|
|
43
|
+
"@progress/kendo-angular-common": "19.2.0-develop.3",
|
|
44
|
+
"@progress/kendo-angular-dateinputs": "19.2.0-develop.3",
|
|
45
|
+
"@progress/kendo-angular-layout": "19.2.0-develop.3",
|
|
46
|
+
"@progress/kendo-angular-navigation": "19.2.0-develop.3",
|
|
47
|
+
"@progress/kendo-angular-dropdowns": "19.2.0-develop.3",
|
|
48
|
+
"@progress/kendo-angular-excel-export": "19.2.0-develop.3",
|
|
49
|
+
"@progress/kendo-angular-icons": "19.2.0-develop.3",
|
|
50
|
+
"@progress/kendo-angular-inputs": "19.2.0-develop.3",
|
|
51
|
+
"@progress/kendo-angular-intl": "19.2.0-develop.3",
|
|
52
|
+
"@progress/kendo-angular-l10n": "19.2.0-develop.3",
|
|
53
|
+
"@progress/kendo-angular-label": "19.2.0-develop.3",
|
|
54
|
+
"@progress/kendo-angular-pager": "19.2.0-develop.3",
|
|
55
|
+
"@progress/kendo-angular-pdf-export": "19.2.0-develop.3",
|
|
56
|
+
"@progress/kendo-angular-popup": "19.2.0-develop.3",
|
|
57
|
+
"@progress/kendo-angular-toolbar": "19.2.0-develop.3",
|
|
58
|
+
"@progress/kendo-angular-utils": "19.2.0-develop.3",
|
|
59
59
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"tslib": "^2.3.1",
|
|
63
|
-
"@progress/kendo-angular-schematics": "19.2.0-develop.
|
|
63
|
+
"@progress/kendo-angular-schematics": "19.2.0-develop.3",
|
|
64
64
|
"@progress/kendo-common": "^1.0.1",
|
|
65
65
|
"@progress/kendo-file-saver": "^1.0.0"
|
|
66
66
|
},
|
|
@@ -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: 'GridModule', package: 'grid', peerDependencies: {
|
|
6
6
|
// peer deps of the dropdowns
|
|
7
|
-
'@progress/kendo-angular-treeview': '19.2.0-develop.
|
|
8
|
-
'@progress/kendo-angular-navigation': '19.2.0-develop.
|
|
7
|
+
'@progress/kendo-angular-treeview': '19.2.0-develop.3',
|
|
8
|
+
'@progress/kendo-angular-navigation': '19.2.0-develop.3',
|
|
9
9
|
// peer dependency of kendo-angular-inputs
|
|
10
|
-
'@progress/kendo-angular-dialog': '19.2.0-develop.
|
|
10
|
+
'@progress/kendo-angular-dialog': '19.2.0-develop.3',
|
|
11
11
|
// peer dependency of kendo-angular-icons
|
|
12
12
|
'@progress/kendo-svg-icons': '^4.0.0',
|
|
13
13
|
// peer dependency of kendo-angular-layout
|
|
14
|
-
'@progress/kendo-angular-progressbar': '19.2.0-develop.
|
|
14
|
+
'@progress/kendo-angular-progressbar': '19.2.0-develop.3'
|
|
15
15
|
} });
|
|
16
16
|
return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
|
|
17
17
|
}
|
|
@@ -59,7 +59,7 @@ export declare class SelectionService implements OnDestroy {
|
|
|
59
59
|
toggleByIndex(index: number): any;
|
|
60
60
|
select(item: any): any;
|
|
61
61
|
deselect(removedItem: any): void;
|
|
62
|
-
addAllTo(item: any, ctrlKey: boolean, preserveSelection?: boolean): any;
|
|
62
|
+
addAllTo(item: any, ctrlKey: boolean, preserveSelection?: boolean, shiftKey?: boolean): any;
|
|
63
63
|
updateAll(selectAllChecked: boolean): void;
|
|
64
64
|
selectRange(startIndex: number, endIndex: number, preserveSelection: boolean, existingSelections?: any[]): any;
|
|
65
65
|
get selectAllState(): any;
|