@progress/kendo-angular-filter 13.3.1-develop.1 → 13.4.0-develop.2

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.
@@ -19,8 +19,6 @@ export declare abstract class BaseFilterRowComponent {
19
19
  constructor(element: ElementRef, navigationService: NavigationService, localization: LocalizationService, renderer: Renderer2);
20
20
  itemNumber: number;
21
21
  get toolbarElement(): HTMLElement;
22
- onFocus(): void;
23
- onBlur(): void;
24
22
  messageFor(key: string): string;
25
23
  onMouseDown(event: any): void;
26
24
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseFilterRowComponent, never>;
@@ -23,13 +23,6 @@ export class BaseFilterRowComponent {
23
23
  get toolbarElement() {
24
24
  return this.element.nativeElement.querySelector('.k-toolbar');
25
25
  }
26
- onFocus() {
27
- this.renderer.addClass(this.navigationService.flattenFilterItems[this.itemNumber].toolbarElement, 'k-focus');
28
- this.navigationService.isInnerNavigationActivated = false;
29
- }
30
- onBlur() {
31
- this.renderer.removeClass(this.navigationService.flattenFilterItems[this.itemNumber].toolbarElement, 'k-focus');
32
- }
33
26
  messageFor(key) {
34
27
  return this.localization.get(key);
35
28
  }
@@ -53,7 +46,7 @@ export class BaseFilterRowComponent {
53
46
  this.navigationService.currentToolbarItemChildrenIndex = 0;
54
47
  this.navigationService.isInnerNavigationActivated = false;
55
48
  this.navigationService.isFilterExpressionComponentFocused = false;
56
- elementToFocus = this.navigationService.flattenFilterItems[this.itemNumber].toolbarElement;
49
+ elementToFocus = this.navigationService.flattenFilterItems[this.itemNumber].focusableChildren[0];
57
50
  }
58
51
  this.navigationService.currentToolbarItemIndex = this.itemNumber;
59
52
  this.navigationService.focusCurrentElement(elementToFocus, true);
@@ -201,8 +201,8 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
201
201
  useExisting: forwardRef(() => FilterExpressionComponent)
202
202
  }], usesInheritance: true, ngImport: i0, template: `
203
203
  <div class="k-filter-toolbar">
204
- <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (focus)="onFocus()" (focusout)="onBlur()" (mousedown)="onMouseDown($event)">
205
- <div class="k-filter-toolbar-item k-filter-field k-toolbar-item" >
204
+ <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (mousedown)="onMouseDown($event)">
205
+ <div class="k-filter-field k-toolbar-item" >
206
206
  <kendo-dropdownlist
207
207
  [tabindex]="-1"
208
208
  [kendoAriaLabelValue]="messageFor('filterFieldAriaLabel')"
@@ -215,7 +215,7 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
215
215
  (valueChange)="filterValueChange($event)">
216
216
  </kendo-dropdownlist>
217
217
  </div>
218
- <div *ngIf="!isBoolean" class="k-filter-toolbar-item k-filter-operator k-toolbar-item" >
218
+ <div *ngIf="!isBoolean" class="k-filter-operator k-toolbar-item" >
219
219
  <kendo-filter-expression-operators
220
220
  [currentItem]="currentItem"
221
221
  [operators]="operators"
@@ -224,7 +224,7 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
224
224
  </kendo-filter-expression-operators>
225
225
  </div>
226
226
 
227
- <div class="k-filter-toolbar-item k-filter-value k-toolbar-item">
227
+ <div class="k-filter-value k-toolbar-item">
228
228
  <ng-container *ngIf="!editorTemplate" [ngSwitch]="getEditorType()">
229
229
  <kendo-filter-text-editor *ngSwitchCase="'string'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>
230
230
  <kendo-filter-numeric-editor *ngSwitchCase="'number'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" [format]="numericEditorFormat" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>
@@ -238,17 +238,16 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
238
238
  </ng-container>
239
239
  </div>
240
240
 
241
- <div class="k-filter-toolbar-item k-toolbar-item" >
242
- <button
243
- kendoButton
244
- tabindex="-1"
245
- icon="x"
246
- [svgIcon]="xIcon"
247
- fillMode="flat"
248
- [title]="messageFor('remove')"
249
- (click)="removeFilterExpression()">
250
- </button>
251
- </div>
241
+ <button
242
+ kendoButton
243
+ class="k-toolbar-button"
244
+ tabindex="-1"
245
+ icon="x"
246
+ [svgIcon]="xIcon"
247
+ fillMode="flat"
248
+ [title]="messageFor('remove')"
249
+ (click)="removeFilterExpression()">
250
+ </button>
252
251
  </div>
253
252
  </div>
254
253
  `, isInline: true, components: [{ type: i4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "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: i5.FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: ["currentItem", "editorType", "operators"], outputs: ["valueChange"] }, { type: i6.FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: i7.FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: ["currentItem", "isDisabled", "format"], outputs: ["valueChange"] }, { type: i8.FilterBooleanEditorComponent, selector: "kendo-filter-boolean-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { type: i9.FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: ["currentItem", "isDisabled", "format"], outputs: ["valueChange"] }, { type: i10.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i11.AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i12.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
@@ -262,8 +261,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
262
261
  selector: 'kendo-filter-expression',
263
262
  template: `
264
263
  <div class="k-filter-toolbar">
265
- <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (focus)="onFocus()" (focusout)="onBlur()" (mousedown)="onMouseDown($event)">
266
- <div class="k-filter-toolbar-item k-filter-field k-toolbar-item" >
264
+ <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (mousedown)="onMouseDown($event)">
265
+ <div class="k-filter-field k-toolbar-item" >
267
266
  <kendo-dropdownlist
268
267
  [tabindex]="-1"
269
268
  [kendoAriaLabelValue]="messageFor('filterFieldAriaLabel')"
@@ -276,7 +275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
276
275
  (valueChange)="filterValueChange($event)">
277
276
  </kendo-dropdownlist>
278
277
  </div>
279
- <div *ngIf="!isBoolean" class="k-filter-toolbar-item k-filter-operator k-toolbar-item" >
278
+ <div *ngIf="!isBoolean" class="k-filter-operator k-toolbar-item" >
280
279
  <kendo-filter-expression-operators
281
280
  [currentItem]="currentItem"
282
281
  [operators]="operators"
@@ -285,7 +284,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
285
284
  </kendo-filter-expression-operators>
286
285
  </div>
287
286
 
288
- <div class="k-filter-toolbar-item k-filter-value k-toolbar-item">
287
+ <div class="k-filter-value k-toolbar-item">
289
288
  <ng-container *ngIf="!editorTemplate" [ngSwitch]="getEditorType()">
290
289
  <kendo-filter-text-editor *ngSwitchCase="'string'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>
291
290
  <kendo-filter-numeric-editor *ngSwitchCase="'number'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" [format]="numericEditorFormat" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>
@@ -299,17 +298,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
299
298
  </ng-container>
300
299
  </div>
301
300
 
302
- <div class="k-filter-toolbar-item k-toolbar-item" >
303
- <button
304
- kendoButton
305
- tabindex="-1"
306
- icon="x"
307
- [svgIcon]="xIcon"
308
- fillMode="flat"
309
- [title]="messageFor('remove')"
310
- (click)="removeFilterExpression()">
311
- </button>
312
- </div>
301
+ <button
302
+ kendoButton
303
+ class="k-toolbar-button"
304
+ tabindex="-1"
305
+ icon="x"
306
+ [svgIcon]="xIcon"
307
+ fillMode="flat"
308
+ [title]="messageFor('remove')"
309
+ (click)="removeFilterExpression()">
310
+ </button>
313
311
  </div>
314
312
  </div>
315
313
  `
@@ -83,24 +83,18 @@ export class FilterGroupComponent extends BaseFilterRowComponent {
83
83
  this.valueChange.emit(true);
84
84
  }
85
85
  onMouseDown(event) {
86
- let elementToFocus;
87
- if (event.target.closest(selectors.kendoFilterToolbarItem)) {
88
- let index = Array.from(event.target.closest(selectors.kendoToolbar).children).indexOf(event.target.closest(selectors.kendoFilterToolbarItem)) + 1;
89
- if (event.target.closest(selectors.andButton)) {
90
- index = 0;
91
- }
92
- if (event.target.closest(selectors.orButton)) {
93
- index = 1;
94
- }
95
- this.navigationService.currentToolbarItemChildrenIndex = index;
96
- this.navigationService.isInnerNavigationActivated = true;
97
- elementToFocus = this.navigationService.flattenFilterItems[this.itemNumber].focusableChildren[index];
86
+ const toolbarItemElement = Array.from(event.target.closest(selectors.kendoToolbar).children).indexOf(event.target.closest(selectors.kendoFilterToolbarItem));
87
+ const buttonElement = Array.from(event.target.closest(selectors.kendoToolbar).children).indexOf(event.target.closest(selectors.kendoFilterToolbarButton));
88
+ let index = (toolbarItemElement > -1 ? toolbarItemElement : buttonElement) + 1;
89
+ if (event.target.closest(selectors.andButton)) {
90
+ index = 0;
98
91
  }
99
- else {
100
- this.navigationService.currentToolbarItemChildrenIndex = 0;
101
- this.navigationService.isInnerNavigationActivated = false;
102
- elementToFocus = this.navigationService.flattenFilterItems[this.itemNumber].toolbarElement;
92
+ if (event.target.closest(selectors.orButton)) {
93
+ index = 1;
103
94
  }
95
+ this.navigationService.currentToolbarItemChildrenIndex = index;
96
+ this.navigationService.isInnerNavigationActivated = true;
97
+ const elementToFocus = this.navigationService.flattenFilterItems[this.itemNumber].focusableChildren[index];
104
98
  this.navigationService.isFilterExpressionComponentFocused = false;
105
99
  this.navigationService.currentToolbarItemIndex = this.itemNumber;
106
100
  this.navigationService.focusCurrentElement(elementToFocus, true);
@@ -112,26 +106,26 @@ FilterGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
112
106
  useExisting: forwardRef(() => FilterGroupComponent)
113
107
  }], viewQueries: [{ propertyName: "_filterItems", predicate: FilterItem, descendants: true }], usesInheritance: true, ngImport: i0, template: `
114
108
  <div class="k-filter-toolbar">
115
- <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (focus)="onFocus()" (focusout)="onBlur()" (mousedown)="onMouseDown($event)">
116
- <div class="k-filter-toolbar-item">
117
- <div class="k-widget k-button-group" role="group">
118
- <button
109
+ <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (mousedown)="onMouseDown($event)">
110
+ <div class="k-toolbar-button-group k-button-group k-button-group-solid" role="group">
111
+ <button
119
112
  tabindex="-1"
120
113
  *ngFor="let operator of operators"
121
114
  kendoButton
115
+ class="k-toolbar-button"
122
116
  [ngClass]="{'k-group-start': operator.value === 'and', 'k-group-end': operator.value === 'or'}"
123
117
  [selected]="currentItem.logic === operator.value"
124
118
  [attr.aria-pressed]="currentItem.logic === operator.value"
125
119
  [title]="operator.text"
126
120
  (click)="selectedChange(operator.value)"
127
- >
121
+ >
128
122
  {{getOperator(operator.value)}}
129
- </button>
130
- </div>
123
+ </button>
131
124
  </div>
132
- <div class="k-filter-toolbar-item">
125
+
133
126
  <button
134
127
  kendoButton
128
+ class="k-toolbar-button"
135
129
  tabindex="-1"
136
130
  [title]="messageFor('addFilter')"
137
131
  icon="filter-add-expression"
@@ -139,10 +133,10 @@ FilterGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
139
133
  (click)="addFilterExpression()">
140
134
  {{messageFor('addFilter')}}
141
135
  </button>
142
- </div>
143
- <div class="k-filter-toolbar-item">
136
+
144
137
  <button
145
138
  kendoButton
139
+ class="k-toolbar-button"
146
140
  tabindex="-1"
147
141
  [title]="messageFor('addGroup')"
148
142
  icon="filter-add-group"
@@ -150,10 +144,10 @@ FilterGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
150
144
  (click)="addFilterGroup()">
151
145
  {{messageFor('addGroup')}}
152
146
  </button>
153
- </div>
154
- <div class="k-filter-toolbar-item">
147
+
155
148
  <button
156
149
  kendoButton
150
+ class="k-toolbar-button"
157
151
  tabindex="-1"
158
152
  icon="x"
159
153
  [svgIcon]="xIcon"
@@ -161,7 +155,6 @@ FilterGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
161
155
  [title]="messageFor('remove')"
162
156
  (click)="removeFilterGroup()">
163
157
  </button>
164
- </div>
165
158
  </div>
166
159
  </div>
167
160
 
@@ -192,26 +185,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
192
185
  selector: 'kendo-filter-group',
193
186
  template: `
194
187
  <div class="k-filter-toolbar">
195
- <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (focus)="onFocus()" (focusout)="onBlur()" (mousedown)="onMouseDown($event)">
196
- <div class="k-filter-toolbar-item">
197
- <div class="k-widget k-button-group" role="group">
198
- <button
188
+ <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (mousedown)="onMouseDown($event)">
189
+ <div class="k-toolbar-button-group k-button-group k-button-group-solid" role="group">
190
+ <button
199
191
  tabindex="-1"
200
192
  *ngFor="let operator of operators"
201
193
  kendoButton
194
+ class="k-toolbar-button"
202
195
  [ngClass]="{'k-group-start': operator.value === 'and', 'k-group-end': operator.value === 'or'}"
203
196
  [selected]="currentItem.logic === operator.value"
204
197
  [attr.aria-pressed]="currentItem.logic === operator.value"
205
198
  [title]="operator.text"
206
199
  (click)="selectedChange(operator.value)"
207
- >
200
+ >
208
201
  {{getOperator(operator.value)}}
209
- </button>
210
- </div>
202
+ </button>
211
203
  </div>
212
- <div class="k-filter-toolbar-item">
204
+
213
205
  <button
214
206
  kendoButton
207
+ class="k-toolbar-button"
215
208
  tabindex="-1"
216
209
  [title]="messageFor('addFilter')"
217
210
  icon="filter-add-expression"
@@ -219,10 +212,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
219
212
  (click)="addFilterExpression()">
220
213
  {{messageFor('addFilter')}}
221
214
  </button>
222
- </div>
223
- <div class="k-filter-toolbar-item">
215
+
224
216
  <button
225
217
  kendoButton
218
+ class="k-toolbar-button"
226
219
  tabindex="-1"
227
220
  [title]="messageFor('addGroup')"
228
221
  icon="filter-add-group"
@@ -230,10 +223,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
230
223
  (click)="addFilterGroup()">
231
224
  {{messageFor('addGroup')}}
232
225
  </button>
233
- </div>
234
- <div class="k-filter-toolbar-item">
226
+
235
227
  <button
236
228
  kendoButton
229
+ class="k-toolbar-button"
237
230
  tabindex="-1"
238
231
  icon="x"
239
232
  [svgIcon]="xIcon"
@@ -241,7 +234,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
241
234
  [title]="messageFor('remove')"
242
235
  (click)="removeFilterGroup()">
243
236
  </button>
244
- </div>
245
237
  </div>
246
238
  </div>
247
239
 
@@ -76,7 +76,7 @@ export class FilterComponent {
76
76
  setTimeout(() => {
77
77
  if (!(document.activeElement.closest('.k-filter'))) {
78
78
  this.renderer.setAttribute(this.navigationService.currentlyFocusedElement, 'tabindex', '-1');
79
- this.navigationService.currentlyFocusedElement = this.navigationService.flattenFilterItems[this.navigationService.currentToolbarItemIndex].toolbarElement;
79
+ this.navigationService.currentlyFocusedElement = this.navigationService.flattenFilterItems[this.navigationService.currentToolbarItemIndex].focusableChildren[0];
80
80
  this.renderer.setAttribute(this.navigationService.currentlyFocusedElement, 'tabindex', '0');
81
81
  this.navigationService.isInnerNavigationActivated = false;
82
82
  this.navigationService.isFilterExpressionComponentFocused = false;
@@ -150,7 +150,7 @@ export class FilterComponent {
150
150
  }
151
151
  this.navigationService.reset(this.filterItems);
152
152
  if (!this.navigationService.currentlyFocusedElement) {
153
- const firstElement = this.navigationService.flattenFilterItems[0].toolbarElement;
153
+ const firstElement = this.navigationService.flattenFilterItems[0].focusableChildren[0];
154
154
  this.navigationService.currentlyFocusedElement = firstElement;
155
155
  this.renderer.setAttribute(firstElement, 'tabindex', '0');
156
156
  }
@@ -177,9 +177,10 @@ export class FilterComponent {
177
177
  if (this.navigationService.currentToolbarItemIndex === this.navigationService.flattenFilterItems.length) {
178
178
  this.navigationService.currentToolbarItemIndex -= 1;
179
179
  }
180
- this.navigationService.isInnerNavigationActivated = false;
181
180
  this.navigationService.isFilterExpressionComponentFocused = false;
182
- this.navigationService.currentlyFocusedElement = this.navigationService.flattenFilterItems[this.navigationService.currentToolbarItemIndex].toolbarElement;
181
+ const itemIndex = this.navigationService.currentToolbarItemIndex;
182
+ const activeChildIndex = this.navigationService.currentToolbarItemChildrenIndex;
183
+ this.navigationService.currentlyFocusedElement = this.navigationService.flattenFilterItems[itemIndex].focusableChildren[activeChildIndex];
183
184
  this.renderer.setAttribute(this.navigationService.currentlyFocusedElement, 'tabindex', '0');
184
185
  this.renderer.addClass(this.navigationService.currentlyFocusedElement, 'k-focus');
185
186
  this.navigationService.currentlyFocusedElement.focus();
@@ -361,7 +362,7 @@ FilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
361
362
  filterComponentAriaLabel="filter component"
362
363
  >
363
364
  </ng-container>
364
- <div class="k-widget k-filter" [attr.dir]="direction">
365
+ <div class="k-filter" [attr.dir]="direction">
365
366
  <ul class='k-filter-container' role="tree" [attr.aria-label]="messageFor('filterComponentAriaLabel')">
366
367
  <li class='k-filter-group-main' role="treeitem">
367
368
  <kendo-filter-group
@@ -500,7 +501,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
500
501
  filterComponentAriaLabel="filter component"
501
502
  >
502
503
  </ng-container>
503
- <div class="k-widget k-filter" [attr.dir]="direction">
504
+ <div class="k-filter" [attr.dir]="direction">
504
505
  <ul class='k-filter-container' role="tree" [attr.aria-label]="messageFor('filterComponentAriaLabel')">
505
506
  <li class='k-filter-group-main' role="treeitem">
506
507
  <kendo-filter-group
@@ -17,38 +17,32 @@ export class NavigationService {
17
17
  this.flattenFilterItems = [];
18
18
  this.currentToolbarItemIndex = 0;
19
19
  this.currentToolbarItemChildrenIndex = 0;
20
- this.isInnerNavigationActivated = false;
20
+ this.isInnerNavigationActivated = true;
21
21
  this.isFilterExpressionComponentFocused = false;
22
22
  }
23
23
  processKeyDown(key, event) {
24
24
  switch (key) {
25
25
  case Keys.ArrowUp: {
26
26
  event.preventDefault();
27
- if (!this.isInnerNavigationActivated) {
27
+ if (!this.isFilterExpressionComponentFocused) {
28
+ this.currentToolbarItemChildrenIndex = 0;
28
29
  this.currentToolbarItemIndex > 0 ? this.currentToolbarItemIndex-- : this.currentToolbarItemIndex;
29
- const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].toolbarElement;
30
+ const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].focusableChildren[0];
30
31
  this.focusCurrentElement(elementToFocus);
31
32
  }
32
33
  break;
33
34
  }
34
35
  case Keys.ArrowDown: {
35
36
  event.preventDefault();
36
- if (!this.isInnerNavigationActivated) {
37
+ if (!this.isFilterExpressionComponentFocused) {
38
+ this.currentToolbarItemChildrenIndex = 0;
37
39
  this.currentToolbarItemIndex < this.flattenFilterItems.length - 1 ? this.currentToolbarItemIndex++ : this.currentToolbarItemIndex;
38
- const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].toolbarElement;
40
+ const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].focusableChildren[0];
39
41
  this.focusCurrentElement(elementToFocus);
40
42
  }
41
43
  break;
42
44
  }
43
45
  case Keys.Enter: {
44
- const isEventTargetFilterToolbar = event.target.closest(selectors.kendoToolbar);
45
- if (!this.isInnerNavigationActivated && isEventTargetFilterToolbar) {
46
- event.preventDefault();
47
- this.isInnerNavigationActivated = true;
48
- this.currentToolbarItemChildrenIndex = 0;
49
- const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].focusableChildren[this.currentToolbarItemChildrenIndex];
50
- this.focusCurrentElement(elementToFocus);
51
- }
52
46
  const isEventTargetKendoFilterToolbarItem = event.target.closest(selectors.kendoFilterToolbarItem);
53
47
  const isEventTargetButton = event.target.closest(selectors.kendoButton);
54
48
  if (this.isInnerNavigationActivated &&
@@ -67,17 +61,9 @@ export class NavigationService {
67
61
  break;
68
62
  }
69
63
  case Keys.Escape: {
70
- if (this.isInnerNavigationActivated && !this.isFilterExpressionComponentFocused) {
71
- event.preventDefault();
72
- this.isInnerNavigationActivated = false;
73
- this.currentToolbarItemChildrenIndex = 0;
74
- const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].toolbarElement;
75
- this.focusCurrentElement(elementToFocus);
76
- }
77
64
  if (this.isFilterExpressionComponentFocused) {
78
65
  event.preventDefault();
79
66
  this.isFilterExpressionComponentFocused = false;
80
- this.isInnerNavigationActivated = true;
81
67
  const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].focusableChildren[this.currentToolbarItemChildrenIndex];
82
68
  this.focusCurrentElement(elementToFocus);
83
69
  }
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-filter',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1692175140,
13
- version: '13.3.1-develop.1',
12
+ publishDate: 1692303278,
13
+ version: '13.4.0-develop.2',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
package/esm2020/util.mjs CHANGED
@@ -169,5 +169,6 @@ export const selectors = {
169
169
  textAreaElement: `textarea`,
170
170
  kendoToolbar: `.k-toolbar`,
171
171
  kendoButton: `.k-button`,
172
- kendoFilterToolbarItem: `.k-filter-toolbar-item`
172
+ kendoFilterToolbarItem: `.k-toolbar-item`,
173
+ kendoFilterToolbarButton: `.k-toolbar-button`
173
174
  };