@progress/kendo-angular-filter 2.0.1-dev.202205171237 → 2.0.1-dev.202205171507

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.
@@ -7,11 +7,11 @@ import { Injectable, Directive, Input, EventEmitter, Component, Output, forwardR
7
7
  import * as i1 from '@progress/kendo-angular-l10n';
8
8
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
9
9
  import { validatePackage } from '@progress/kendo-licensing';
10
- import * as i3 from '@progress/kendo-angular-dropdowns';
10
+ import * as i2 from '@progress/kendo-angular-dropdowns';
11
11
  import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
12
- import * as i3$1 from '@progress/kendo-angular-inputs';
12
+ import * as i2$1 from '@progress/kendo-angular-inputs';
13
13
  import { InputsModule } from '@progress/kendo-angular-inputs';
14
- import * as i3$2 from '@progress/kendo-angular-dateinputs';
14
+ import * as i2$2 from '@progress/kendo-angular-dateinputs';
15
15
  import { DateInputsModule } from '@progress/kendo-angular-dateinputs';
16
16
  import * as i10 from '@angular/common';
17
17
  import { CommonModule } from '@angular/common';
@@ -26,7 +26,6 @@ class FilterService {
26
26
  constructor() {
27
27
  this.value = { filters: [], logic: 'or' };
28
28
  this.filters = [];
29
- this.isEditorDisabled = false;
30
29
  }
31
30
  addFilterGroup(item) {
32
31
  let filterGroup = { logic: 'or', filters: [] };
@@ -202,7 +201,7 @@ const packageMetadata = {
202
201
  name: '@progress/kendo-angular-filter',
203
202
  productName: 'Kendo UI for Angular',
204
203
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
205
- publishDate: 1652791009,
204
+ publishDate: 1652799999,
206
205
  version: '',
207
206
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
208
207
  };
@@ -234,21 +233,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
234
233
  * @hidden
235
234
  */
236
235
  class FilterExpressionOperatorsComponent {
237
- constructor(filterService, localization) {
238
- this.filterService = filterService;
236
+ constructor(localization) {
239
237
  this.localization = localization;
240
- this.valueChange = new EventEmitter();
241
238
  this.operators = [];
239
+ this.valueChange = new EventEmitter();
242
240
  }
243
241
  messageFor(key) {
244
242
  return this.localization.get(key);
245
243
  }
246
244
  operatorValueChange(value) {
247
- this.valueChange.emit();
248
- this.filterService.isEditorDisabled = nullOperators.indexOf(value) >= 0;
245
+ this.valueChange.emit(value);
249
246
  }
250
247
  }
251
- FilterExpressionOperatorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterExpressionOperatorsComponent, deps: [{ token: FilterService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
248
+ FilterExpressionOperatorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterExpressionOperatorsComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
252
249
  FilterExpressionOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: { currentItem: "currentItem", operators: "operators" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
253
250
  <kendo-dropdownlist
254
251
  [kendoAriaLabelValue]="messageFor('filterOperatorAriaLabel')"
@@ -259,13 +256,13 @@ FilterExpressionOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersio
259
256
  [valuePrimitive]="true"
260
257
  textField="text"
261
258
  valueField="value"
262
- >
259
+ >
263
260
  </kendo-dropdownlist>
264
- `, isInline: true, components: [{ type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
261
+ `, isInline: true, components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
265
262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterExpressionOperatorsComponent, decorators: [{
266
263
  type: Component,
267
264
  args: [{
268
- selector: 'kendo-filter-expression-operators',
265
+ selector: "kendo-filter-expression-operators",
269
266
  template: `
270
267
  <kendo-dropdownlist
271
268
  [kendoAriaLabelValue]="messageFor('filterOperatorAriaLabel')"
@@ -276,48 +273,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
276
273
  [valuePrimitive]="true"
277
274
  textField="text"
278
275
  valueField="value"
279
- >
276
+ >
280
277
  </kendo-dropdownlist>
281
- `
278
+ `
282
279
  }]
283
- }], ctorParameters: function () { return [{ type: FilterService }, { type: i1.LocalizationService }]; }, propDecorators: { currentItem: [{
280
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { currentItem: [{
284
281
  type: Input
285
- }], valueChange: [{
286
- type: Output
287
282
  }], operators: [{
288
283
  type: Input
284
+ }], valueChange: [{
285
+ type: Output
289
286
  }] } });
290
287
 
291
288
  /**
292
289
  * @hidden
293
290
  */
294
291
  class FilterTextEditorComponent {
295
- constructor(localization, filterService) {
292
+ constructor(localization) {
296
293
  this.localization = localization;
297
- this.filterService = filterService;
298
294
  this.valueChange = new EventEmitter();
299
295
  }
300
- isDisabled() {
301
- const isDisabled = this.filterService.isEditorDisabled;
302
- if (isDisabled) {
303
- this.currentItem.value = null;
304
- }
305
- return isDisabled;
306
- }
307
296
  messageFor(key) {
308
297
  return this.localization.get(key);
309
298
  }
310
299
  }
311
- FilterTextEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterTextEditorComponent, deps: [{ token: i1.LocalizationService }, { token: FilterService }], target: i0.ɵɵFactoryTarget.Component });
312
- FilterTextEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: { currentItem: "currentItem" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
300
+ FilterTextEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterTextEditorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
301
+ FilterTextEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: { currentItem: "currentItem", isDisabled: "isDisabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
313
302
  <kendo-textbox
314
303
  [kendoAriaLabelValue]="messageFor('filterValueAriaLabel')"
315
304
  class="k-filter-toolbar-item k-filter-value"
316
305
  [(value)]="currentItem.value"
317
306
  (valueChange)="valueChange.emit()"
318
- [disabled]="isDisabled()">
307
+ [disabled]="isDisabled">
319
308
  </kendo-textbox>
320
- `, isInline: true, components: [{ type: i3$1.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
309
+ `, isInline: true, components: [{ type: i2$1.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
321
310
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterTextEditorComponent, decorators: [{
322
311
  type: Component,
323
312
  args: [{
@@ -328,11 +317,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
328
317
  class="k-filter-toolbar-item k-filter-value"
329
318
  [(value)]="currentItem.value"
330
319
  (valueChange)="valueChange.emit()"
331
- [disabled]="isDisabled()">
320
+ [disabled]="isDisabled">
332
321
  </kendo-textbox>
333
322
  `
334
323
  }]
335
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: FilterService }]; }, propDecorators: { currentItem: [{
324
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { currentItem: [{
325
+ type: Input
326
+ }], isDisabled: [{
336
327
  type: Input
337
328
  }], valueChange: [{
338
329
  type: Output
@@ -342,36 +333,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
342
333
  * @hidden
343
334
  */
344
335
  class FilterNumericEditorComponent {
345
- constructor(localization, filterService) {
336
+ constructor(localization) {
346
337
  this.localization = localization;
347
- this.filterService = filterService;
348
338
  this.valueChange = new EventEmitter();
349
339
  }
350
340
  messageFor(key) {
351
341
  return this.localization.get(key);
352
342
  }
353
- isDisabled() {
354
- const isDisabled = this.filterService.isEditorDisabled;
355
- if (isDisabled) {
356
- this.currentItem.value = null;
357
- }
358
- return isDisabled;
359
- }
360
343
  }
361
- FilterNumericEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterNumericEditorComponent, deps: [{ token: i1.LocalizationService }, { token: FilterService }], target: i0.ɵɵFactoryTarget.Component });
362
- FilterNumericEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: { currentItem: "currentItem" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
344
+ FilterNumericEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterNumericEditorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
345
+ FilterNumericEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: { currentItem: "currentItem", isDisabled: "isDisabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
363
346
  <kendo-numerictextbox
364
347
  [kendoAriaLabelValue]="messageFor('filterValueAriaLabel')"
365
348
  class="k-filter-toolbar-item k-filter-value"
366
349
  [(value)]="currentItem.value"
367
350
  (valueChange)="valueChange.emit()"
368
- [disabled]="isDisabled()">
351
+ [disabled]="isDisabled">
369
352
  <kendo-numerictextbox-messages
370
353
  [increment]="messageFor('editorNumericIncrement')"
371
354
  [decrement]="messageFor('editorNumericDecrement')">
372
355
  </kendo-numerictextbox-messages>
373
356
  </kendo-numerictextbox>
374
- `, isInline: true, components: [{ type: i3$1.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }, { type: i3$1.NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
357
+ `, isInline: true, components: [{ type: i2$1.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }, { type: i2$1.NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
375
358
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterNumericEditorComponent, decorators: [{
376
359
  type: Component,
377
360
  args: [{
@@ -382,7 +365,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
382
365
  class="k-filter-toolbar-item k-filter-value"
383
366
  [(value)]="currentItem.value"
384
367
  (valueChange)="valueChange.emit()"
385
- [disabled]="isDisabled()">
368
+ [disabled]="isDisabled">
386
369
  <kendo-numerictextbox-messages
387
370
  [increment]="messageFor('editorNumericIncrement')"
388
371
  [decrement]="messageFor('editorNumericDecrement')">
@@ -390,7 +373,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
390
373
  </kendo-numerictextbox>
391
374
  `
392
375
  }]
393
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: FilterService }]; }, propDecorators: { currentItem: [{
376
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { currentItem: [{
377
+ type: Input
378
+ }], isDisabled: [{
394
379
  type: Input
395
380
  }], valueChange: [{
396
381
  type: Output
@@ -446,7 +431,7 @@ FilterBooleanEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
446
431
  valueField="value"
447
432
  >
448
433
  </kendo-dropdownlist>
449
- `, isInline: true, components: [{ type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
434
+ `, isInline: true, components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
450
435
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterBooleanEditorComponent, decorators: [{
451
436
  type: Component,
452
437
  args: [{
@@ -476,36 +461,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
476
461
  * @hidden
477
462
  */
478
463
  class FilterDateEditorComponent {
479
- constructor(localization, filterService) {
464
+ constructor(localization) {
480
465
  this.localization = localization;
481
- this.filterService = filterService;
482
466
  this.valueChange = new EventEmitter();
483
467
  }
484
468
  messageFor(key) {
485
469
  return this.localization.get(key);
486
470
  }
487
- isDisabled() {
488
- const isDisabled = this.filterService.isEditorDisabled;
489
- if (isDisabled) {
490
- this.currentItem.value = null;
491
- }
492
- return isDisabled;
493
- }
494
471
  }
495
- FilterDateEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterDateEditorComponent, deps: [{ token: i1.LocalizationService }, { token: FilterService }], target: i0.ɵɵFactoryTarget.Component });
496
- FilterDateEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: { currentItem: "currentItem" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
472
+ FilterDateEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterDateEditorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
473
+ FilterDateEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: { currentItem: "currentItem", isDisabled: "isDisabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
497
474
  <kendo-datepicker
498
475
  [kendoAriaLabelValue]="messageFor('filterValueAriaLabel')"
499
476
  class="k-filter-toolbar-item k-filter-value"
500
477
  [(value)]="currentItem.value"
501
478
  (valueChange)="valueChange.emit()"
502
- [disabled]="isDisabled()">
479
+ [disabled]="isDisabled">
503
480
  <kendo-datepicker-messages
504
481
  [toggle]="messageFor('editorDateToggleText')"
505
482
  [today]="messageFor('editorDateTodayText')">
506
483
  </kendo-datepicker-messages>
507
484
  </kendo-datepicker>
508
- `, isInline: true, components: [{ type: i3$2.DatePickerComponent, selector: "kendo-datepicker", inputs: ["cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "focusableId", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i3$2.DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
485
+ `, isInline: true, components: [{ type: i2$2.DatePickerComponent, selector: "kendo-datepicker", inputs: ["cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "focusableId", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i2$2.DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
509
486
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterDateEditorComponent, decorators: [{
510
487
  type: Component,
511
488
  args: [{
@@ -516,7 +493,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
516
493
  class="k-filter-toolbar-item k-filter-value"
517
494
  [(value)]="currentItem.value"
518
495
  (valueChange)="valueChange.emit()"
519
- [disabled]="isDisabled()">
496
+ [disabled]="isDisabled">
520
497
  <kendo-datepicker-messages
521
498
  [toggle]="messageFor('editorDateToggleText')"
522
499
  [today]="messageFor('editorDateTodayText')">
@@ -524,7 +501,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
524
501
  </kendo-datepicker>
525
502
  `
526
503
  }]
527
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: FilterService }]; }, propDecorators: { currentItem: [{
504
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { currentItem: [{
505
+ type: Input
506
+ }], isDisabled: [{
528
507
  type: Input
529
508
  }], valueChange: [{
530
509
  type: Output
@@ -545,6 +524,7 @@ class FilterExpressionComponent {
545
524
  this.isEditorDisabled = false;
546
525
  }
547
526
  ngOnInit() {
527
+ this.isEditorDisabled = nullOperators.indexOf(this.currentItem.operator) >= 0;
548
528
  this.filters = this.filterService.filters;
549
529
  const foundFilter = this.getFilterExpressionByField(this.currentItem.field);
550
530
  if (this.currentItem.field) {
@@ -633,6 +613,16 @@ class FilterExpressionComponent {
633
613
  }
634
614
  }
635
615
  }
616
+ onOperatorChange(value) {
617
+ this.valueChange.emit();
618
+ if (nullOperators.indexOf(value) >= 0) {
619
+ this.currentItem.value = null;
620
+ this.isEditorDisabled = true;
621
+ }
622
+ else {
623
+ this.isEditorDisabled = false;
624
+ }
625
+ }
636
626
  }
637
627
  FilterExpressionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterExpressionComponent, deps: [{ token: FilterService }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
638
628
  FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterExpressionComponent, selector: "kendo-filter-expression", inputs: { index: "index", currentItem: "currentItem" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
@@ -654,15 +644,15 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
654
644
  <kendo-filter-expression-operators
655
645
  [currentItem]="currentItem"
656
646
  [operators]="operators"
657
- (valueChange)="valueChange.emit();">
647
+ (valueChange)="onOperatorChange($event);">
658
648
  </kendo-filter-expression-operators>
659
649
  </div>
660
650
 
661
651
  <ng-container [ngSwitch]="getEditorType()">
662
- <kendo-filter-text-editor *ngSwitchCase="'string'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>
663
- <kendo-filter-numeric-editor *ngSwitchCase="'number'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>
652
+ <kendo-filter-text-editor *ngSwitchCase="'string'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>
653
+ <kendo-filter-numeric-editor *ngSwitchCase="'number'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>
664
654
  <kendo-filter-boolean-editor *ngSwitchCase="'boolean'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-boolean-editor>
665
- <kendo-filter-date-editor *ngSwitchCase="'date'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-date-editor>
655
+ <kendo-filter-date-editor *ngSwitchCase="'date'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-date-editor>
666
656
  </ng-container>
667
657
 
668
658
  <div class="k-filter-toolbar-item">
@@ -676,7 +666,7 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
676
666
  </div>
677
667
  </div>
678
668
  </div>
679
- `, isInline: true, components: [{ type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: ["currentItem", "operators"], outputs: ["valueChange"] }, { type: FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { type: FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { type: FilterBooleanEditorComponent, selector: "kendo-filter-boolean-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { type: FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: ["currentItem"], outputs: ["valueChange"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i11.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
669
+ `, isInline: true, components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: ["currentItem", "operators"], outputs: ["valueChange"] }, { type: FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: FilterBooleanEditorComponent, selector: "kendo-filter-boolean-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { type: FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i11.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
680
670
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterExpressionComponent, decorators: [{
681
671
  type: Component,
682
672
  args: [{
@@ -700,15 +690,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
700
690
  <kendo-filter-expression-operators
701
691
  [currentItem]="currentItem"
702
692
  [operators]="operators"
703
- (valueChange)="valueChange.emit();">
693
+ (valueChange)="onOperatorChange($event);">
704
694
  </kendo-filter-expression-operators>
705
695
  </div>
706
696
 
707
697
  <ng-container [ngSwitch]="getEditorType()">
708
- <kendo-filter-text-editor *ngSwitchCase="'string'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>
709
- <kendo-filter-numeric-editor *ngSwitchCase="'number'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>
698
+ <kendo-filter-text-editor *ngSwitchCase="'string'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>
699
+ <kendo-filter-numeric-editor *ngSwitchCase="'number'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>
710
700
  <kendo-filter-boolean-editor *ngSwitchCase="'boolean'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-boolean-editor>
711
- <kendo-filter-date-editor *ngSwitchCase="'date'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-date-editor>
701
+ <kendo-filter-date-editor *ngSwitchCase="'date'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-date-editor>
712
702
  </ng-container>
713
703
 
714
704
  <div class="k-filter-toolbar-item">
@@ -1164,6 +1154,9 @@ class FilterComponent {
1164
1154
  if (!isPresent(filterDescriptor.value)) {
1165
1155
  filterDescriptor.value = null;
1166
1156
  }
1157
+ if (nullOperators.indexOf(filterDescriptor.operator) >= 0) {
1158
+ filterDescriptor.value = null;
1159
+ }
1167
1160
  }
1168
1161
  normalizeValue(item) {
1169
1162
  item.filters.forEach((item) => {
@@ -5,21 +5,19 @@
5
5
  import { EventEmitter } from '@angular/core';
6
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
7
  import { FilterDescriptor } from '@progress/kendo-data-query';
8
- import { FilterService } from './filter.service';
9
8
  import * as i0 from "@angular/core";
10
9
  /**
11
10
  * @hidden
12
11
  */
13
12
  export declare class FilterExpressionOperatorsComponent {
14
- private filterService;
15
13
  private localization;
16
14
  currentItem: FilterDescriptor;
17
- valueChange: EventEmitter<void>;
18
15
  operators: {
19
16
  text: string;
20
17
  value: string;
21
18
  }[];
22
- constructor(filterService: FilterService, localization: LocalizationService);
19
+ valueChange: EventEmitter<string>;
20
+ constructor(localization: LocalizationService);
23
21
  messageFor(key: string): string;
24
22
  operatorValueChange(value: string): void;
25
23
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterExpressionOperatorsComponent, never>;
@@ -23,8 +23,8 @@ export declare class FilterExpressionComponent implements OnInit, OnDestroy {
23
23
  operators: any[];
24
24
  filters: FilterExpression[];
25
25
  isBoolean: boolean;
26
- isEditorDisabled: boolean;
27
26
  editorType: FilterEditor;
27
+ isEditorDisabled: boolean;
28
28
  private localizationSubscription;
29
29
  constructor(filterService: FilterService, localization: LocalizationService, cdr: ChangeDetectorRef);
30
30
  ngOnInit(): void;
@@ -43,6 +43,7 @@ export declare class FilterExpressionComponent implements OnInit, OnDestroy {
43
43
  getEditorType(): FilterEditor;
44
44
  removeFilterExpression(): void;
45
45
  private setOperators;
46
+ onOperatorChange(value: string): void;
46
47
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterExpressionComponent, never>;
47
48
  static ɵcmp: i0.ɵɵComponentDeclaration<FilterExpressionComponent, "kendo-filter-expression", never, { "index": "index"; "currentItem": "currentItem"; }, { "valueChange": "valueChange"; }, never, never>;
48
49
  }
@@ -11,7 +11,6 @@ import * as i0 from "@angular/core";
11
11
  export declare class FilterService {
12
12
  value: CompositeFilterDescriptor;
13
13
  filters: FilterExpression[];
14
- isEditorDisabled: boolean;
15
14
  addFilterGroup(item: CompositeFilterDescriptor): void;
16
15
  addFilterExpression(item: CompositeFilterDescriptor): void;
17
16
  remove(item: CompositeFilterDescriptor | FilterDescriptor, positionIndex: number, parentItem?: CompositeFilterDescriptor): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-filter",
3
- "version": "2.0.1-dev.202205171237",
3
+ "version": "2.0.1-dev.202205171507",
4
4
  "description": "Kendo UI Angular Filter",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",