@progress/kendo-angular-dropdowns 25.0.0-develop.3 → 25.0.0-develop.4

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.
@@ -37,8 +37,8 @@ const packageMetadata = {
37
37
  productName: 'Kendo UI for Angular',
38
38
  productCode: 'KENDOUIANGULAR',
39
39
  productCodes: ['KENDOUIANGULAR'],
40
- publishDate: 1783692542,
41
- version: '25.0.0-develop.3',
40
+ publishDate: 1783940257,
41
+ version: '25.0.0-develop.4',
42
42
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
43
43
  };
44
44
 
@@ -211,6 +211,17 @@ const hasProps = (obj, props) => {
211
211
  }
212
212
  return props.every(prop => obj.hasOwnProperty(prop));
213
213
  };
214
+ /**
215
+ * @hidden
216
+ *
217
+ * Checks whether an array contains grouped data.
218
+ * GroupResult { aggregates: AggregateResult, field: string, items: object[], value: any }
219
+ * https://www.telerik.com/kendo-angular-ui/components/dataquery/api/GroupResult/
220
+ */
221
+ const isGroupedData = (data) => {
222
+ return isPresent(data) && data.length > 0 && isPresent(data[0])
223
+ && hasProps(data[0], ['aggregates', 'field', 'items', 'value']);
224
+ };
214
225
  /**
215
226
  * @hidden
216
227
  *
@@ -1058,9 +1069,7 @@ class DataService {
1058
1069
  * Used to determine if the component received grouped data.
1059
1070
  */
1060
1071
  isGrouped(data) {
1061
- // GroupResult { aggregates: AggregateResult, field: string, items: object[], value: any }
1062
- // https://www.telerik.com/kendo-angular-ui/components/dataquery/api/GroupResult/
1063
- return (isPresent(data) && data.length !== 0) && isPresent(data[0]) && hasProps(data[0], ['aggregates', 'field', 'items', 'value']);
1072
+ return isGroupedData(data);
1064
1073
  }
1065
1074
  /**
1066
1075
  * @hidden
@@ -17887,7 +17896,6 @@ const DEFAULT_FILTER_SETTINGS = {
17887
17896
  /**
17888
17897
  * Implements an event handler for the `filterChange` event of a DropDowns component
17889
17898
  * which performs simple data filtering.
17890
- * Currently, the built-in filtering does not work with [grouped data](https://www.telerik.com/kendo-angular-ui/components/data-query/api/groupby).
17891
17899
  *
17892
17900
  * @example
17893
17901
  * ```ts
@@ -17947,7 +17955,14 @@ class FilterDirective {
17947
17955
  }
17948
17956
  }
17949
17957
  handleFilterChange(query) {
17950
- this.component.data = this.data.filter(item => this.matchesAnyField(item, query));
17958
+ if (isGroupedData(this.data)) {
17959
+ this.component.data = this.data
17960
+ .map(group => ({ ...group, items: group.items.filter(item => this.matchesAnyField(item, query)) }))
17961
+ .filter(group => group.items.length > 0);
17962
+ }
17963
+ else {
17964
+ this.component.data = this.data.filter(item => this.matchesAnyField(item, query));
17965
+ }
17951
17966
  }
17952
17967
  matchesAnyField(item, query) {
17953
17968
  const normalizedQuery = this.normalizeValue(query);
package/index.d.ts CHANGED
@@ -5520,7 +5520,6 @@ interface DropDownFilterSettings {
5520
5520
  /**
5521
5521
  * Implements an event handler for the `filterChange` event of a DropDowns component
5522
5522
  * which performs simple data filtering.
5523
- * Currently, the built-in filtering does not work with [grouped data](https://www.telerik.com/kendo-angular-ui/components/data-query/api/groupby).
5524
5523
  *
5525
5524
  * @example
5526
5525
  * ```ts
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1783692542,
11
- "version": "25.0.0-develop.3",
10
+ "publishDate": 1783940257,
11
+ "version": "25.0.0-develop.4",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-dropdowns",
3
- "version": "25.0.0-develop.3",
3
+ "version": "25.0.0-develop.4",
4
4
  "description": "A wide variety of native Angular dropdown components including AutoComplete, ComboBox, DropDownList, DropDownTree, MultiColumnComboBox, MultiSelect, and MultiSelectTree ",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -121,7 +121,7 @@
121
121
  "package": {
122
122
  "productName": "Kendo UI for Angular",
123
123
  "productCode": "KENDOUIANGULAR",
124
- "publishDate": 1783692542,
124
+ "publishDate": 1783940257,
125
125
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
126
126
  }
127
127
  },
@@ -132,18 +132,18 @@
132
132
  "@angular/forms": "20 - 22",
133
133
  "@angular/platform-browser": "20 - 22",
134
134
  "@progress/kendo-licensing": "^1.11.0",
135
- "@progress/kendo-angular-common": "25.0.0-develop.3",
136
- "@progress/kendo-angular-utils": "25.0.0-develop.3",
137
- "@progress/kendo-angular-l10n": "25.0.0-develop.3",
138
- "@progress/kendo-angular-navigation": "25.0.0-develop.3",
139
- "@progress/kendo-angular-popup": "25.0.0-develop.3",
140
- "@progress/kendo-angular-icons": "25.0.0-develop.3",
141
- "@progress/kendo-angular-treeview": "25.0.0-develop.3",
135
+ "@progress/kendo-angular-common": "25.0.0-develop.4",
136
+ "@progress/kendo-angular-utils": "25.0.0-develop.4",
137
+ "@progress/kendo-angular-l10n": "25.0.0-develop.4",
138
+ "@progress/kendo-angular-navigation": "25.0.0-develop.4",
139
+ "@progress/kendo-angular-popup": "25.0.0-develop.4",
140
+ "@progress/kendo-angular-icons": "25.0.0-develop.4",
141
+ "@progress/kendo-angular-treeview": "25.0.0-develop.4",
142
142
  "rxjs": "^6.5.3 || ^7.0.0"
143
143
  },
144
144
  "dependencies": {
145
145
  "tslib": "^2.3.1",
146
- "@progress/kendo-angular-schematics": "25.0.0-develop.3",
146
+ "@progress/kendo-angular-schematics": "25.0.0-develop.4",
147
147
  "@progress/kendo-common": "^1.0.1"
148
148
  },
149
149
  "schematics": "./schematics/collection.json",
@@ -9,9 +9,9 @@ const schematics_1 = require("@angular-devkit/schematics");
9
9
  function default_1(options) {
10
10
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'DropDownsModule', package: 'dropdowns', peerDependencies: {
11
11
  // peers of the treeview
12
- '@progress/kendo-angular-inputs': '25.0.0-develop.3',
12
+ '@progress/kendo-angular-inputs': '25.0.0-develop.4',
13
13
  // peers of inputs
14
- '@progress/kendo-angular-intl': '25.0.0-develop.3',
14
+ '@progress/kendo-angular-intl': '25.0.0-develop.4',
15
15
  '@progress/kendo-drawing': '^1.17.2',
16
16
  // Peer dependency of icons
17
17
  '@progress/kendo-svg-icons': '^4.0.0'