@progress/kendo-angular-grid 21.2.0-develop.2 → 21.2.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.
- package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +8 -7
- package/esm2022/filtering/menu/filter-menu-container.component.mjs +18 -3
- package/esm2022/package-metadata.mjs +2 -2
- package/fesm2022/progress-kendo-angular-grid.mjs +26 -11
- package/filtering/menu/date-filter-menu-input.component.d.ts +1 -2
- package/filtering/menu/filter-menu-container.component.d.ts +2 -2
- package/package.json +24 -24
- package/schematics/ngAdd/index.js +7 -7
|
@@ -7,7 +7,7 @@ import { Component, Input } from '@angular/core';
|
|
|
7
7
|
import { ColumnComponent } from "../../columns/column.component";
|
|
8
8
|
import { FilterService } from '../filter.service';
|
|
9
9
|
import { SinglePopupService } from '../../common/single-popup.service';
|
|
10
|
-
import {
|
|
10
|
+
import { take } from 'rxjs/operators';
|
|
11
11
|
import { DatePickerComponent, DatePickerCustomMessagesComponent } from '@progress/kendo-angular-dateinputs';
|
|
12
12
|
import { ContextService } from '../../common/provider.service';
|
|
13
13
|
import { FilterInputDirective } from '../filter-input.directive';
|
|
@@ -49,9 +49,12 @@ export class DateFilterMenuInputComponent {
|
|
|
49
49
|
this.subscription.unsubscribe();
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
open(
|
|
52
|
+
open() {
|
|
53
|
+
if (this.subscription) {
|
|
54
|
+
this.subscription.unsubscribe();
|
|
55
|
+
}
|
|
53
56
|
this.subscription = this.popupService.onClose
|
|
54
|
-
.pipe(
|
|
57
|
+
.pipe(take(1))
|
|
55
58
|
.subscribe(e => e.preventDefault());
|
|
56
59
|
}
|
|
57
60
|
messageFor(key) {
|
|
@@ -74,13 +77,12 @@ export class DateFilterMenuInputComponent {
|
|
|
74
77
|
[isFirstDropDown]="isFirstDropDown"
|
|
75
78
|
[menuTabbingService]="menuTabbingService">
|
|
76
79
|
<kendo-datepicker
|
|
77
|
-
#picker
|
|
78
80
|
kendoFilterInput
|
|
79
81
|
[adaptiveMode]="ctx.grid?.adaptiveMode"
|
|
80
82
|
[size]="ctx.grid?.isActionSheetExpanded ? 'large' : null"
|
|
81
83
|
[columnLabel]="columnLabel"
|
|
82
84
|
[filterDelay]="0"
|
|
83
|
-
(open)="open(
|
|
85
|
+
(open)="open()"
|
|
84
86
|
[value]="currentFilter?.value"
|
|
85
87
|
[placeholder]="placeholder"
|
|
86
88
|
[formatPlaceholder]="formatPlaceholder"
|
|
@@ -114,13 +116,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
114
116
|
[isFirstDropDown]="isFirstDropDown"
|
|
115
117
|
[menuTabbingService]="menuTabbingService">
|
|
116
118
|
<kendo-datepicker
|
|
117
|
-
#picker
|
|
118
119
|
kendoFilterInput
|
|
119
120
|
[adaptiveMode]="ctx.grid?.adaptiveMode"
|
|
120
121
|
[size]="ctx.grid?.isActionSheetExpanded ? 'large' : null"
|
|
121
122
|
[columnLabel]="columnLabel"
|
|
122
123
|
[filterDelay]="0"
|
|
123
|
-
(open)="open(
|
|
124
|
+
(open)="open()"
|
|
124
125
|
[value]="currentFilter?.value"
|
|
125
126
|
[placeholder]="placeholder"
|
|
126
127
|
[formatPlaceholder]="formatPlaceholder"
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { MenuTabbingService } from './menu-tabbing.service';
|
|
6
6
|
import { Component, Input, SkipSelf, Output, EventEmitter, ChangeDetectorRef, ElementRef, ViewChild } from '@angular/core';
|
|
7
|
+
import { isCompositeFilterDescriptor } from "@progress/kendo-data-query";
|
|
7
8
|
import { ColumnComponent } from "../../columns/column.component";
|
|
8
9
|
import { FilterService } from "../filter.service";
|
|
9
10
|
import { removeFilter, filtersByField } from "../base-filter-cell.component";
|
|
@@ -32,9 +33,23 @@ const isNoValueOperator = operator => (operator === "isnull"
|
|
|
32
33
|
* @hidden
|
|
33
34
|
*/
|
|
34
35
|
export const validFilters = ({ value, operator }) => !isNullOrEmptyString(value) || isNoValueOperator(operator);
|
|
35
|
-
const trimFilters = filter => {
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
const trimFilters = (filter) => {
|
|
37
|
+
const trimComposite = (node) => {
|
|
38
|
+
const trimmed = [];
|
|
39
|
+
for (const f of node.filters || []) {
|
|
40
|
+
if (isCompositeFilterDescriptor(f)) {
|
|
41
|
+
const child = trimComposite(f);
|
|
42
|
+
if (child.filters.length) {
|
|
43
|
+
trimmed.push(child);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else if (validFilters(f)) {
|
|
47
|
+
trimmed.push(f);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return { logic: node.logic || 'and', filters: trimmed };
|
|
51
|
+
};
|
|
52
|
+
return trimComposite(filter);
|
|
38
53
|
};
|
|
39
54
|
const findParent = (filters, field, parent) => {
|
|
40
55
|
return filters.reduce((acc, filter) => {
|
|
@@ -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: '21.2.0-develop.
|
|
13
|
+
publishDate: 1764059241,
|
|
14
|
+
version: '21.2.0-develop.4',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -10237,9 +10237,12 @@ class DateFilterMenuInputComponent {
|
|
|
10237
10237
|
this.subscription.unsubscribe();
|
|
10238
10238
|
}
|
|
10239
10239
|
}
|
|
10240
|
-
open(
|
|
10240
|
+
open() {
|
|
10241
|
+
if (this.subscription) {
|
|
10242
|
+
this.subscription.unsubscribe();
|
|
10243
|
+
}
|
|
10241
10244
|
this.subscription = this.popupService.onClose
|
|
10242
|
-
.pipe(
|
|
10245
|
+
.pipe(take(1))
|
|
10243
10246
|
.subscribe(e => e.preventDefault());
|
|
10244
10247
|
}
|
|
10245
10248
|
messageFor(key) {
|
|
@@ -10262,13 +10265,12 @@ class DateFilterMenuInputComponent {
|
|
|
10262
10265
|
[isFirstDropDown]="isFirstDropDown"
|
|
10263
10266
|
[menuTabbingService]="menuTabbingService">
|
|
10264
10267
|
<kendo-datepicker
|
|
10265
|
-
#picker
|
|
10266
10268
|
kendoFilterInput
|
|
10267
10269
|
[adaptiveMode]="ctx.grid?.adaptiveMode"
|
|
10268
10270
|
[size]="ctx.grid?.isActionSheetExpanded ? 'large' : null"
|
|
10269
10271
|
[columnLabel]="columnLabel"
|
|
10270
10272
|
[filterDelay]="0"
|
|
10271
|
-
(open)="open(
|
|
10273
|
+
(open)="open()"
|
|
10272
10274
|
[value]="currentFilter?.value"
|
|
10273
10275
|
[placeholder]="placeholder"
|
|
10274
10276
|
[formatPlaceholder]="formatPlaceholder"
|
|
@@ -10302,13 +10304,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
10302
10304
|
[isFirstDropDown]="isFirstDropDown"
|
|
10303
10305
|
[menuTabbingService]="menuTabbingService">
|
|
10304
10306
|
<kendo-datepicker
|
|
10305
|
-
#picker
|
|
10306
10307
|
kendoFilterInput
|
|
10307
10308
|
[adaptiveMode]="ctx.grid?.adaptiveMode"
|
|
10308
10309
|
[size]="ctx.grid?.isActionSheetExpanded ? 'large' : null"
|
|
10309
10310
|
[columnLabel]="columnLabel"
|
|
10310
10311
|
[filterDelay]="0"
|
|
10311
|
-
(open)="open(
|
|
10312
|
+
(open)="open()"
|
|
10312
10313
|
[value]="currentFilter?.value"
|
|
10313
10314
|
[placeholder]="placeholder"
|
|
10314
10315
|
[formatPlaceholder]="formatPlaceholder"
|
|
@@ -11222,9 +11223,23 @@ const isNoValueOperator = operator => (operator === "isnull"
|
|
|
11222
11223
|
* @hidden
|
|
11223
11224
|
*/
|
|
11224
11225
|
const validFilters = ({ value, operator }) => !isNullOrEmptyString(value) || isNoValueOperator(operator);
|
|
11225
|
-
const trimFilters = filter => {
|
|
11226
|
-
|
|
11227
|
-
|
|
11226
|
+
const trimFilters = (filter) => {
|
|
11227
|
+
const trimComposite = (node) => {
|
|
11228
|
+
const trimmed = [];
|
|
11229
|
+
for (const f of node.filters || []) {
|
|
11230
|
+
if (isCompositeFilterDescriptor(f)) {
|
|
11231
|
+
const child = trimComposite(f);
|
|
11232
|
+
if (child.filters.length) {
|
|
11233
|
+
trimmed.push(child);
|
|
11234
|
+
}
|
|
11235
|
+
}
|
|
11236
|
+
else if (validFilters(f)) {
|
|
11237
|
+
trimmed.push(f);
|
|
11238
|
+
}
|
|
11239
|
+
}
|
|
11240
|
+
return { logic: node.logic || 'and', filters: trimmed };
|
|
11241
|
+
};
|
|
11242
|
+
return trimComposite(filter);
|
|
11228
11243
|
};
|
|
11229
11244
|
const findParent = (filters, field, parent) => {
|
|
11230
11245
|
return filters.reduce((acc, filter) => {
|
|
@@ -23560,8 +23575,8 @@ const packageMetadata = {
|
|
|
23560
23575
|
productName: 'Kendo UI for Angular',
|
|
23561
23576
|
productCode: 'KENDOUIANGULAR',
|
|
23562
23577
|
productCodes: ['KENDOUIANGULAR'],
|
|
23563
|
-
publishDate:
|
|
23564
|
-
version: '21.2.0-develop.
|
|
23578
|
+
publishDate: 1764059241,
|
|
23579
|
+
version: '21.2.0-develop.4',
|
|
23565
23580
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
23566
23581
|
};
|
|
23567
23582
|
|
|
@@ -8,7 +8,6 @@ import { FilterDescriptor, CompositeFilterDescriptor } from '@progress/kendo-dat
|
|
|
8
8
|
import { ColumnComponent } from "../../columns/column.component";
|
|
9
9
|
import { FilterService } from '../filter.service';
|
|
10
10
|
import { SinglePopupService } from '../../common/single-popup.service';
|
|
11
|
-
import { DatePickerComponent } from '@progress/kendo-angular-dateinputs';
|
|
12
11
|
import { CalendarView, DateInputFormatPlaceholder } from '@progress/kendo-angular-dateinputs';
|
|
13
12
|
import { ContextService } from '../../common/provider.service';
|
|
14
13
|
import * as i0 from "@angular/core";
|
|
@@ -41,7 +40,7 @@ export declare class DateFilterMenuInputComponent implements OnDestroy {
|
|
|
41
40
|
private subscription;
|
|
42
41
|
constructor(popupService: SinglePopupService, ctx: ContextService);
|
|
43
42
|
ngOnDestroy(): void;
|
|
44
|
-
open(
|
|
43
|
+
open(): void;
|
|
45
44
|
messageFor(key: string): string;
|
|
46
45
|
get columnLabel(): string;
|
|
47
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<DateFilterMenuInputComponent, never>;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { MenuTabbingService } from './menu-tabbing.service';
|
|
6
|
-
import { OnInit, EventEmitter, OnDestroy, ChangeDetectorRef } from '@angular/core';
|
|
6
|
+
import { OnInit, EventEmitter, OnDestroy, ChangeDetectorRef, AfterViewChecked } from '@angular/core';
|
|
7
7
|
import { CompositeFilterDescriptor, FilterDescriptor } from "@progress/kendo-data-query";
|
|
8
8
|
import { ColumnComponent } from "../../columns/column.component";
|
|
9
9
|
import { FilterService } from "../filter.service";
|
|
@@ -21,7 +21,7 @@ export declare const parentLogicOfDefault: (filter: any, field: any, def?: strin
|
|
|
21
21
|
/**
|
|
22
22
|
* @hidden
|
|
23
23
|
*/
|
|
24
|
-
export declare class FilterMenuContainerComponent implements OnInit, OnDestroy {
|
|
24
|
+
export declare class FilterMenuContainerComponent implements AfterViewChecked, OnInit, OnDestroy {
|
|
25
25
|
protected parentService: FilterService;
|
|
26
26
|
childService: FilterService;
|
|
27
27
|
ctx: ContextService;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-grid",
|
|
3
|
-
"version": "21.2.0-develop.
|
|
3
|
+
"version": "21.2.0-develop.4",
|
|
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",
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"package": {
|
|
74
74
|
"productName": "Kendo UI for Angular",
|
|
75
75
|
"productCode": "KENDOUIANGULAR",
|
|
76
|
-
"publishDate":
|
|
76
|
+
"publishDate": 1764059241,
|
|
77
77
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
78
78
|
}
|
|
79
79
|
},
|
|
@@ -86,32 +86,32 @@
|
|
|
86
86
|
"@progress/kendo-data-query": "^1.0.0",
|
|
87
87
|
"@progress/kendo-drawing": "^1.21.0",
|
|
88
88
|
"@progress/kendo-licensing": "^1.7.0",
|
|
89
|
-
"@progress/kendo-angular-buttons": "21.2.0-develop.
|
|
90
|
-
"@progress/kendo-angular-common": "21.2.0-develop.
|
|
91
|
-
"@progress/kendo-angular-dateinputs": "21.2.0-develop.
|
|
92
|
-
"@progress/kendo-angular-layout": "21.2.0-develop.
|
|
93
|
-
"@progress/kendo-angular-navigation": "21.2.0-develop.
|
|
94
|
-
"@progress/kendo-angular-dropdowns": "21.2.0-develop.
|
|
95
|
-
"@progress/kendo-angular-excel-export": "21.2.0-develop.
|
|
96
|
-
"@progress/kendo-angular-icons": "21.2.0-develop.
|
|
97
|
-
"@progress/kendo-angular-indicators": "21.2.0-develop.
|
|
98
|
-
"@progress/kendo-angular-inputs": "21.2.0-develop.
|
|
99
|
-
"@progress/kendo-angular-conversational-ui": "21.2.0-develop.
|
|
100
|
-
"@progress/kendo-angular-intl": "21.2.0-develop.
|
|
101
|
-
"@progress/kendo-angular-l10n": "21.2.0-develop.
|
|
102
|
-
"@progress/kendo-angular-label": "21.2.0-develop.
|
|
103
|
-
"@progress/kendo-angular-menu": "21.2.0-develop.
|
|
104
|
-
"@progress/kendo-angular-pager": "21.2.0-develop.
|
|
105
|
-
"@progress/kendo-angular-pdf-export": "21.2.0-develop.
|
|
106
|
-
"@progress/kendo-angular-popup": "21.2.0-develop.
|
|
107
|
-
"@progress/kendo-angular-toolbar": "21.2.0-develop.
|
|
108
|
-
"@progress/kendo-angular-upload": "21.2.0-develop.
|
|
109
|
-
"@progress/kendo-angular-utils": "21.2.0-develop.
|
|
89
|
+
"@progress/kendo-angular-buttons": "21.2.0-develop.4",
|
|
90
|
+
"@progress/kendo-angular-common": "21.2.0-develop.4",
|
|
91
|
+
"@progress/kendo-angular-dateinputs": "21.2.0-develop.4",
|
|
92
|
+
"@progress/kendo-angular-layout": "21.2.0-develop.4",
|
|
93
|
+
"@progress/kendo-angular-navigation": "21.2.0-develop.4",
|
|
94
|
+
"@progress/kendo-angular-dropdowns": "21.2.0-develop.4",
|
|
95
|
+
"@progress/kendo-angular-excel-export": "21.2.0-develop.4",
|
|
96
|
+
"@progress/kendo-angular-icons": "21.2.0-develop.4",
|
|
97
|
+
"@progress/kendo-angular-indicators": "21.2.0-develop.4",
|
|
98
|
+
"@progress/kendo-angular-inputs": "21.2.0-develop.4",
|
|
99
|
+
"@progress/kendo-angular-conversational-ui": "21.2.0-develop.4",
|
|
100
|
+
"@progress/kendo-angular-intl": "21.2.0-develop.4",
|
|
101
|
+
"@progress/kendo-angular-l10n": "21.2.0-develop.4",
|
|
102
|
+
"@progress/kendo-angular-label": "21.2.0-develop.4",
|
|
103
|
+
"@progress/kendo-angular-menu": "21.2.0-develop.4",
|
|
104
|
+
"@progress/kendo-angular-pager": "21.2.0-develop.4",
|
|
105
|
+
"@progress/kendo-angular-pdf-export": "21.2.0-develop.4",
|
|
106
|
+
"@progress/kendo-angular-popup": "21.2.0-develop.4",
|
|
107
|
+
"@progress/kendo-angular-toolbar": "21.2.0-develop.4",
|
|
108
|
+
"@progress/kendo-angular-upload": "21.2.0-develop.4",
|
|
109
|
+
"@progress/kendo-angular-utils": "21.2.0-develop.4",
|
|
110
110
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
111
111
|
},
|
|
112
112
|
"dependencies": {
|
|
113
113
|
"tslib": "^2.3.1",
|
|
114
|
-
"@progress/kendo-angular-schematics": "21.2.0-develop.
|
|
114
|
+
"@progress/kendo-angular-schematics": "21.2.0-develop.4",
|
|
115
115
|
"@progress/kendo-common": "^1.0.1",
|
|
116
116
|
"@progress/kendo-file-saver": "^1.0.0",
|
|
117
117
|
"node-html-parser": "^7.0.1"
|
|
@@ -9,19 +9,19 @@ const schematics_1 = require("@angular-devkit/schematics");
|
|
|
9
9
|
function default_1(options) {
|
|
10
10
|
const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
|
|
11
11
|
// peer deps of the dropdowns
|
|
12
|
-
'@progress/kendo-angular-treeview': '21.2.0-develop.
|
|
13
|
-
'@progress/kendo-angular-navigation': '21.2.0-develop.
|
|
12
|
+
'@progress/kendo-angular-treeview': '21.2.0-develop.4',
|
|
13
|
+
'@progress/kendo-angular-navigation': '21.2.0-develop.4',
|
|
14
14
|
// peer dependency of kendo-angular-inputs
|
|
15
|
-
'@progress/kendo-angular-dialog': '21.2.0-develop.
|
|
15
|
+
'@progress/kendo-angular-dialog': '21.2.0-develop.4',
|
|
16
16
|
// peer dependency of kendo-angular-icons
|
|
17
17
|
'@progress/kendo-svg-icons': '^4.0.0',
|
|
18
18
|
// peer dependency of kendo-angular-layout
|
|
19
|
-
'@progress/kendo-angular-progressbar': '21.2.0-develop.
|
|
19
|
+
'@progress/kendo-angular-progressbar': '21.2.0-develop.4',
|
|
20
20
|
// transitive peer dependencies from toolbar
|
|
21
|
-
'@progress/kendo-angular-indicators': '21.2.0-develop.
|
|
21
|
+
'@progress/kendo-angular-indicators': '21.2.0-develop.4',
|
|
22
22
|
// transitive peer dependencies from conversational-ui
|
|
23
|
-
'@progress/kendo-angular-menu': '21.2.0-develop.
|
|
24
|
-
'@progress/kendo-angular-upload': '21.2.0-develop.
|
|
23
|
+
'@progress/kendo-angular-menu': '21.2.0-develop.4',
|
|
24
|
+
'@progress/kendo-angular-upload': '21.2.0-develop.4'
|
|
25
25
|
} });
|
|
26
26
|
return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
|
|
27
27
|
}
|