@progress/kendo-angular-grid 20.1.0-develop.21 → 20.1.0-develop.23
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.
|
@@ -35,9 +35,23 @@ export class MultiCheckboxFilterComponent {
|
|
|
35
35
|
isSearched = false;
|
|
36
36
|
currentFilter;
|
|
37
37
|
typingTimeout;
|
|
38
|
+
baseListData;
|
|
38
39
|
ngOnInit() {
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
let mappedData = [];
|
|
41
|
+
let filteredMappedData = [];
|
|
42
|
+
if (this.column.filter === 'date') {
|
|
43
|
+
mappedData = this.getUniqueDateValues(this.gridData);
|
|
44
|
+
filteredMappedData = this.getUniqueDateValues(this.filteredGridData);
|
|
45
|
+
this.baseListData = mappedData.sort((a, b) => { return a - b; });
|
|
46
|
+
this.currentlySelected = new Set(filteredMappedData);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
mappedData = this.gridData.map(i => i[this.column.field]);
|
|
50
|
+
filteredMappedData = this.filteredGridData.map(i => i[this.column.field]);
|
|
51
|
+
this.baseListData = [...new Set(mappedData)].sort((a, b) => { return a - b; });
|
|
52
|
+
this.currentlySelected = new Set(filteredMappedData);
|
|
53
|
+
}
|
|
54
|
+
this.listData = this.baseListData;
|
|
41
55
|
this.currentFilter = this.ctx.grid?.filter;
|
|
42
56
|
if (this.currentFilter) {
|
|
43
57
|
this.filterChange.emit(this.currentFilter);
|
|
@@ -62,12 +76,11 @@ export class MultiCheckboxFilterComponent {
|
|
|
62
76
|
this.listData = [];
|
|
63
77
|
return;
|
|
64
78
|
}
|
|
65
|
-
const base = [...new Set(this.gridData.map(i => i[field]))].sort((a, b) => { return a - b; });
|
|
66
79
|
if (!value) {
|
|
67
|
-
this.listData =
|
|
80
|
+
this.listData = this.baseListData;
|
|
68
81
|
return;
|
|
69
82
|
}
|
|
70
|
-
this.listData = filterBy(
|
|
83
|
+
this.listData = filterBy(this.baseListData, { operator: 'contains', value });
|
|
71
84
|
}, DEFAULT_SEARCH_DELAY);
|
|
72
85
|
}
|
|
73
86
|
handleCheckBoxChange(checkedState, value, selectAllChecked) {
|
|
@@ -88,7 +101,7 @@ export class MultiCheckboxFilterComponent {
|
|
|
88
101
|
if (selectAllChecked) {
|
|
89
102
|
if (checkedState) {
|
|
90
103
|
fieldFilters = [];
|
|
91
|
-
this.currentlySelected = new Set(this.
|
|
104
|
+
this.currentlySelected = new Set(this.baseListData);
|
|
92
105
|
}
|
|
93
106
|
else {
|
|
94
107
|
fieldFilters = this.gridData.map(item => ({
|
|
@@ -147,9 +160,9 @@ export class MultiCheckboxFilterComponent {
|
|
|
147
160
|
}
|
|
148
161
|
get selectAllChecked() {
|
|
149
162
|
if (!this.listData) {
|
|
150
|
-
return;
|
|
163
|
+
return false;
|
|
151
164
|
}
|
|
152
|
-
if (this.currentlySelected.size
|
|
165
|
+
if (this.currentlySelected.size >= this.listData.length && this.currentlySelected.size > 0) {
|
|
153
166
|
return true;
|
|
154
167
|
}
|
|
155
168
|
else if (this.currentlySelected.size === 0) {
|
|
@@ -190,6 +203,15 @@ export class MultiCheckboxFilterComponent {
|
|
|
190
203
|
messageFor(key) {
|
|
191
204
|
return this.ctx.localization.get(key);
|
|
192
205
|
}
|
|
206
|
+
getUniqueDateValues(data) {
|
|
207
|
+
return data.reduce((acc, current) => {
|
|
208
|
+
const value = current[this.column.field];
|
|
209
|
+
if (value instanceof Date && acc.findIndex(d => d.getTime() === value.getTime()) === -1) {
|
|
210
|
+
acc.push(value);
|
|
211
|
+
}
|
|
212
|
+
return acc;
|
|
213
|
+
}, []);
|
|
214
|
+
}
|
|
193
215
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiCheckboxFilterComponent, deps: [{ token: i1.ContextService }, { token: i2.LocalDataChangesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
194
216
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MultiCheckboxFilterComponent, isStandalone: true, selector: "kendo-grid-multicheckbox-filter", inputs: { column: "column" }, outputs: { filterChange: "filterChange" }, ngImport: i0, template: `
|
|
195
217
|
<kendo-textbox *ngIf="normalizedFilterVariant.search"
|
|
@@ -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.0-develop.
|
|
13
|
+
publishDate: 1760336674,
|
|
14
|
+
version: '20.1.0-develop.23',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -10747,9 +10747,23 @@ class MultiCheckboxFilterComponent {
|
|
|
10747
10747
|
isSearched = false;
|
|
10748
10748
|
currentFilter;
|
|
10749
10749
|
typingTimeout;
|
|
10750
|
+
baseListData;
|
|
10750
10751
|
ngOnInit() {
|
|
10751
|
-
|
|
10752
|
-
|
|
10752
|
+
let mappedData = [];
|
|
10753
|
+
let filteredMappedData = [];
|
|
10754
|
+
if (this.column.filter === 'date') {
|
|
10755
|
+
mappedData = this.getUniqueDateValues(this.gridData);
|
|
10756
|
+
filteredMappedData = this.getUniqueDateValues(this.filteredGridData);
|
|
10757
|
+
this.baseListData = mappedData.sort((a, b) => { return a - b; });
|
|
10758
|
+
this.currentlySelected = new Set(filteredMappedData);
|
|
10759
|
+
}
|
|
10760
|
+
else {
|
|
10761
|
+
mappedData = this.gridData.map(i => i[this.column.field]);
|
|
10762
|
+
filteredMappedData = this.filteredGridData.map(i => i[this.column.field]);
|
|
10763
|
+
this.baseListData = [...new Set(mappedData)].sort((a, b) => { return a - b; });
|
|
10764
|
+
this.currentlySelected = new Set(filteredMappedData);
|
|
10765
|
+
}
|
|
10766
|
+
this.listData = this.baseListData;
|
|
10753
10767
|
this.currentFilter = this.ctx.grid?.filter;
|
|
10754
10768
|
if (this.currentFilter) {
|
|
10755
10769
|
this.filterChange.emit(this.currentFilter);
|
|
@@ -10774,12 +10788,11 @@ class MultiCheckboxFilterComponent {
|
|
|
10774
10788
|
this.listData = [];
|
|
10775
10789
|
return;
|
|
10776
10790
|
}
|
|
10777
|
-
const base = [...new Set(this.gridData.map(i => i[field]))].sort((a, b) => { return a - b; });
|
|
10778
10791
|
if (!value) {
|
|
10779
|
-
this.listData =
|
|
10792
|
+
this.listData = this.baseListData;
|
|
10780
10793
|
return;
|
|
10781
10794
|
}
|
|
10782
|
-
this.listData = filterBy(
|
|
10795
|
+
this.listData = filterBy(this.baseListData, { operator: 'contains', value });
|
|
10783
10796
|
}, DEFAULT_SEARCH_DELAY);
|
|
10784
10797
|
}
|
|
10785
10798
|
handleCheckBoxChange(checkedState, value, selectAllChecked) {
|
|
@@ -10800,7 +10813,7 @@ class MultiCheckboxFilterComponent {
|
|
|
10800
10813
|
if (selectAllChecked) {
|
|
10801
10814
|
if (checkedState) {
|
|
10802
10815
|
fieldFilters = [];
|
|
10803
|
-
this.currentlySelected = new Set(this.
|
|
10816
|
+
this.currentlySelected = new Set(this.baseListData);
|
|
10804
10817
|
}
|
|
10805
10818
|
else {
|
|
10806
10819
|
fieldFilters = this.gridData.map(item => ({
|
|
@@ -10859,9 +10872,9 @@ class MultiCheckboxFilterComponent {
|
|
|
10859
10872
|
}
|
|
10860
10873
|
get selectAllChecked() {
|
|
10861
10874
|
if (!this.listData) {
|
|
10862
|
-
return;
|
|
10875
|
+
return false;
|
|
10863
10876
|
}
|
|
10864
|
-
if (this.currentlySelected.size
|
|
10877
|
+
if (this.currentlySelected.size >= this.listData.length && this.currentlySelected.size > 0) {
|
|
10865
10878
|
return true;
|
|
10866
10879
|
}
|
|
10867
10880
|
else if (this.currentlySelected.size === 0) {
|
|
@@ -10902,6 +10915,15 @@ class MultiCheckboxFilterComponent {
|
|
|
10902
10915
|
messageFor(key) {
|
|
10903
10916
|
return this.ctx.localization.get(key);
|
|
10904
10917
|
}
|
|
10918
|
+
getUniqueDateValues(data) {
|
|
10919
|
+
return data.reduce((acc, current) => {
|
|
10920
|
+
const value = current[this.column.field];
|
|
10921
|
+
if (value instanceof Date && acc.findIndex(d => d.getTime() === value.getTime()) === -1) {
|
|
10922
|
+
acc.push(value);
|
|
10923
|
+
}
|
|
10924
|
+
return acc;
|
|
10925
|
+
}, []);
|
|
10926
|
+
}
|
|
10905
10927
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiCheckboxFilterComponent, deps: [{ token: ContextService }, { token: LocalDataChangesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10906
10928
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MultiCheckboxFilterComponent, isStandalone: true, selector: "kendo-grid-multicheckbox-filter", inputs: { column: "column" }, outputs: { filterChange: "filterChange" }, ngImport: i0, template: `
|
|
10907
10929
|
<kendo-textbox *ngIf="normalizedFilterVariant.search"
|
|
@@ -22790,8 +22812,8 @@ const packageMetadata = {
|
|
|
22790
22812
|
productName: 'Kendo UI for Angular',
|
|
22791
22813
|
productCode: 'KENDOUIANGULAR',
|
|
22792
22814
|
productCodes: ['KENDOUIANGULAR'],
|
|
22793
|
-
publishDate:
|
|
22794
|
-
version: '20.1.0-develop.
|
|
22815
|
+
publishDate: 1760336674,
|
|
22816
|
+
version: '20.1.0-develop.23',
|
|
22795
22817
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
22796
22818
|
};
|
|
22797
22819
|
|
|
@@ -25,6 +25,7 @@ export declare class MultiCheckboxFilterComponent implements OnInit, OnDestroy {
|
|
|
25
25
|
private isSearched;
|
|
26
26
|
private currentFilter;
|
|
27
27
|
private typingTimeout;
|
|
28
|
+
private baseListData;
|
|
28
29
|
ngOnInit(): void;
|
|
29
30
|
ngOnDestroy(): void;
|
|
30
31
|
isItemSelected(item: any): boolean;
|
|
@@ -36,6 +37,7 @@ export declare class MultiCheckboxFilterComponent implements OnInit, OnDestroy {
|
|
|
36
37
|
get normalizedFilterVariant(): FilterVariantSettings;
|
|
37
38
|
get selectedItemsMessage(): string;
|
|
38
39
|
messageFor(key: string): string;
|
|
40
|
+
private getUniqueDateValues;
|
|
39
41
|
static ɵfac: i0.ɵɵFactoryDeclaration<MultiCheckboxFilterComponent, never>;
|
|
40
42
|
static ɵcmp: i0.ɵɵComponentDeclaration<MultiCheckboxFilterComponent, "kendo-grid-multicheckbox-filter", never, { "column": { "alias": "column"; "required": false; }; }, { "filterChange": "filterChange"; }, never, never, true, never>;
|
|
41
43
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-grid",
|
|
3
|
-
"version": "20.1.0-develop.
|
|
3
|
+
"version": "20.1.0-develop.23",
|
|
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",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"package": {
|
|
42
42
|
"productName": "Kendo UI for Angular",
|
|
43
43
|
"productCode": "KENDOUIANGULAR",
|
|
44
|
-
"publishDate":
|
|
44
|
+
"publishDate": 1760336674,
|
|
45
45
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
46
46
|
}
|
|
47
47
|
},
|
|
@@ -54,29 +54,29 @@
|
|
|
54
54
|
"@progress/kendo-data-query": "^1.0.0",
|
|
55
55
|
"@progress/kendo-drawing": "^1.21.0",
|
|
56
56
|
"@progress/kendo-licensing": "^1.7.0",
|
|
57
|
-
"@progress/kendo-angular-buttons": "20.1.0-develop.
|
|
58
|
-
"@progress/kendo-angular-common": "20.1.0-develop.
|
|
59
|
-
"@progress/kendo-angular-dateinputs": "20.1.0-develop.
|
|
60
|
-
"@progress/kendo-angular-layout": "20.1.0-develop.
|
|
61
|
-
"@progress/kendo-angular-navigation": "20.1.0-develop.
|
|
62
|
-
"@progress/kendo-angular-dropdowns": "20.1.0-develop.
|
|
63
|
-
"@progress/kendo-angular-excel-export": "20.1.0-develop.
|
|
64
|
-
"@progress/kendo-angular-icons": "20.1.0-develop.
|
|
65
|
-
"@progress/kendo-angular-inputs": "20.1.0-develop.
|
|
66
|
-
"@progress/kendo-angular-conversational-ui": "20.1.0-develop.
|
|
67
|
-
"@progress/kendo-angular-intl": "20.1.0-develop.
|
|
68
|
-
"@progress/kendo-angular-l10n": "20.1.0-develop.
|
|
69
|
-
"@progress/kendo-angular-label": "20.1.0-develop.
|
|
70
|
-
"@progress/kendo-angular-pager": "20.1.0-develop.
|
|
71
|
-
"@progress/kendo-angular-pdf-export": "20.1.0-develop.
|
|
72
|
-
"@progress/kendo-angular-popup": "20.1.0-develop.
|
|
73
|
-
"@progress/kendo-angular-toolbar": "20.1.0-develop.
|
|
74
|
-
"@progress/kendo-angular-utils": "20.1.0-develop.
|
|
57
|
+
"@progress/kendo-angular-buttons": "20.1.0-develop.23",
|
|
58
|
+
"@progress/kendo-angular-common": "20.1.0-develop.23",
|
|
59
|
+
"@progress/kendo-angular-dateinputs": "20.1.0-develop.23",
|
|
60
|
+
"@progress/kendo-angular-layout": "20.1.0-develop.23",
|
|
61
|
+
"@progress/kendo-angular-navigation": "20.1.0-develop.23",
|
|
62
|
+
"@progress/kendo-angular-dropdowns": "20.1.0-develop.23",
|
|
63
|
+
"@progress/kendo-angular-excel-export": "20.1.0-develop.23",
|
|
64
|
+
"@progress/kendo-angular-icons": "20.1.0-develop.23",
|
|
65
|
+
"@progress/kendo-angular-inputs": "20.1.0-develop.23",
|
|
66
|
+
"@progress/kendo-angular-conversational-ui": "20.1.0-develop.23",
|
|
67
|
+
"@progress/kendo-angular-intl": "20.1.0-develop.23",
|
|
68
|
+
"@progress/kendo-angular-l10n": "20.1.0-develop.23",
|
|
69
|
+
"@progress/kendo-angular-label": "20.1.0-develop.23",
|
|
70
|
+
"@progress/kendo-angular-pager": "20.1.0-develop.23",
|
|
71
|
+
"@progress/kendo-angular-pdf-export": "20.1.0-develop.23",
|
|
72
|
+
"@progress/kendo-angular-popup": "20.1.0-develop.23",
|
|
73
|
+
"@progress/kendo-angular-toolbar": "20.1.0-develop.23",
|
|
74
|
+
"@progress/kendo-angular-utils": "20.1.0-develop.23",
|
|
75
75
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
76
76
|
},
|
|
77
77
|
"dependencies": {
|
|
78
78
|
"tslib": "^2.3.1",
|
|
79
|
-
"@progress/kendo-angular-schematics": "20.1.0-develop.
|
|
79
|
+
"@progress/kendo-angular-schematics": "20.1.0-develop.23",
|
|
80
80
|
"@progress/kendo-common": "^1.0.1",
|
|
81
81
|
"@progress/kendo-file-saver": "^1.0.0"
|
|
82
82
|
},
|
|
@@ -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': '20.1.0-develop.
|
|
8
|
-
'@progress/kendo-angular-navigation': '20.1.0-develop.
|
|
7
|
+
'@progress/kendo-angular-treeview': '20.1.0-develop.23',
|
|
8
|
+
'@progress/kendo-angular-navigation': '20.1.0-develop.23',
|
|
9
9
|
// peer dependency of kendo-angular-inputs
|
|
10
|
-
'@progress/kendo-angular-dialog': '20.1.0-develop.
|
|
10
|
+
'@progress/kendo-angular-dialog': '20.1.0-develop.23',
|
|
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': '20.1.0-develop.
|
|
14
|
+
'@progress/kendo-angular-progressbar': '20.1.0-develop.23'
|
|
15
15
|
} });
|
|
16
16
|
return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
|
|
17
17
|
}
|