@progress/kendo-angular-treelist 19.3.0-develop.32 → 19.3.0-develop.34

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.
@@ -85,7 +85,7 @@ export class ColumnChooserComponent {
85
85
  const popupAriaElement = popupElement.querySelector('.k-popup');
86
86
  this.ngZone.runOutsideAngular(() => {
87
87
  this.escapeListener = this.renderer.listen(popupAriaElement, 'keydown', (e) => {
88
- if (e.keyCode === Keys.Escape) {
88
+ if (e.code === Keys.Escape) {
89
89
  this.close(true);
90
90
  }
91
91
  });
@@ -10,7 +10,7 @@ import { ColumnMenuChooserItemCheckedDirective } from './column-chooser-item-che
10
10
  import { ColumnMenuService } from './column-menu.service';
11
11
  import { ColumnListKeyboardNavigation } from './column-list-kb-nav.service';
12
12
  import { Subscription } from 'rxjs';
13
- import { Keys } from '@progress/kendo-angular-common';
13
+ import { Keys, normalizeNumpadKeys } from '@progress/kendo-angular-common';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "./column-list-kb-nav.service";
16
16
  /**
@@ -128,7 +128,8 @@ export class ColumnListComponent {
128
128
  }
129
129
  }
130
130
  onKeydown = (e) => {
131
- if (e.keyCode !== Keys.Tab) {
131
+ const code = normalizeNumpadKeys(e);
132
+ if (code !== Keys.Tab) {
132
133
  e.preventDefault();
133
134
  }
134
135
  if (e.key === 'Tab' && !e.shiftKey && this.autoSync) {
@@ -142,13 +143,13 @@ export class ColumnListComponent {
142
143
  }
143
144
  });
144
145
  }
145
- if (e.keyCode === Keys.ArrowDown) {
146
+ if (code === Keys.ArrowDown) {
146
147
  this.listNavigationService.next();
147
148
  }
148
- else if (e.keyCode === Keys.ArrowUp) {
149
+ else if (code === Keys.ArrowUp) {
149
150
  this.listNavigationService.prev();
150
151
  }
151
- else if (e.keyCode === Keys.Space && e.target.classList.contains('k-column-list-item')) {
152
+ else if (code === Keys.Space && e.target.classList.contains('k-column-list-item')) {
152
153
  this.listNavigationService.toggleCheckedState();
153
154
  }
154
155
  };
@@ -109,7 +109,7 @@ export class ColumnMenuItemDirective {
109
109
  }
110
110
  }
111
111
  onTab = (e) => {
112
- if (e.keyCode !== Keys.Tab) {
112
+ if (e.code !== Keys.Tab) {
113
113
  return;
114
114
  }
115
115
  if (this.isFirst && e.shiftKey && e.target === this.columnMenuItems[0]) {
@@ -104,7 +104,7 @@ export class FilterCellOperatorsComponent {
104
104
  * @hidden
105
105
  */
106
106
  clearKeydown(args) {
107
- if (args.keyCode === Keys.Enter || args.keyCode === Keys.Space) {
107
+ if (args.code === Keys.Enter || args.code === Keys.NumpadEnter || args.code === Keys.Space) {
108
108
  this.clear.emit();
109
109
  }
110
110
  }
@@ -115,7 +115,7 @@ export class FilterCellOperatorsComponent {
115
115
  if (args.defaultPrevented) {
116
116
  return;
117
117
  }
118
- if (args.keyCode === Keys.Enter && !this.dropdown.isOpen) {
118
+ if ((args.code === Keys.Enter || args.code === Keys.NumpadEnter) && !this.dropdown.isOpen) {
119
119
  this.dropdown.toggle(true);
120
120
  args.preventDefault();
121
121
  }
@@ -25,7 +25,7 @@ export class FilterMenuDropDownListDirective {
25
25
  this.host.wrapper.nativeElement.removeEventListener('keydown', this.keydownHandler);
26
26
  }
27
27
  keydownHandler = (e) => {
28
- if (e.keyCode === Keys.Escape && this.host.isOpen) {
28
+ if (e.code === Keys.Escape && this.host.isOpen) {
29
29
  e.stopPropagation();
30
30
  this.host.toggle(false);
31
31
  }
@@ -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 { ChangeDetectorRef, EventEmitter, Injectable, NgZone, Optional } from '@angular/core';
6
- import { isDocumentAvailable, Keys } from '@progress/kendo-angular-common';
6
+ import { isDocumentAvailable, Keys, normalizeNumpadKeys } from '@progress/kendo-angular-common';
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import { from, interval, Subscription } from 'rxjs';
9
9
  import { filter, map, switchMap, switchMapTo, take, takeUntil } from 'rxjs/operators';
@@ -181,7 +181,7 @@ export class NavigationService {
181
181
  .subscribe(() => this.cursor.reset(0, 0)));
182
182
  this.subs.add(this.domEvents.keydown
183
183
  .subscribe(args => this.onKeydown(args)));
184
- this.subs.add(this.domEvents.keydown.pipe(filter(args => args.keyCode === Keys.Tab && this.mode === 2 /* NavigationMode.Content */), switchMapTo(this.domEvents.focusOut.pipe(takeUntil(
184
+ this.subs.add(this.domEvents.keydown.pipe(filter(args => args.code === Keys.Tab && this.mode === 2 /* NavigationMode.Content */), switchMapTo(this.domEvents.focusOut.pipe(takeUntil(
185
185
  // Timeout if focusOut doesn't fire very soon
186
186
  interval(0).pipe(take(1))))))
187
187
  .subscribe(() => this.onTabout()));
@@ -398,8 +398,10 @@ export class NavigationService {
398
398
  if (!this.onCellKeydown(args)) {
399
399
  return;
400
400
  }
401
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
402
+ const code = normalizeNumpadKeys(args);
401
403
  const row = this.cursor.row;
402
- switch (args.keyCode) {
404
+ switch (code) {
403
405
  case Keys.Space:
404
406
  this.updateSelection(args);
405
407
  preventDefault = this.selectionService.enabled;
@@ -541,13 +543,15 @@ export class NavigationService {
541
543
  if (!this.onCellKeydown(args)) {
542
544
  return;
543
545
  }
544
- const confirm = !args.defaultPrevented && args.keyCode === Keys.Enter && isTextInput(args.target);
545
- if (args.keyCode === Keys.Escape || args.keyCode === Keys.F2 || confirm) {
546
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
547
+ const code = normalizeNumpadKeys(args);
548
+ const confirm = !args.defaultPrevented && code === Keys.Enter && isTextInput(args.target);
549
+ if (code === Keys.Escape || code === Keys.F2 || confirm) {
546
550
  this.leaveCell();
547
551
  this.cursor.reset();
548
552
  args.stopPropagation();
549
553
  }
550
- else if (isNavigationKey(args.keyCode) && this.cursor.cell.focusGroup.isNavigable()) {
554
+ else if (isNavigationKey(code) && this.cursor.cell.focusGroup.isNavigable()) {
551
555
  this.onCursorKeydown(args);
552
556
  if (args.defaultPrevented) {
553
557
  this.leaveCell();
@@ -555,10 +559,12 @@ export class NavigationService {
555
559
  }
556
560
  }
557
561
  onCellKeydown(args) {
562
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
563
+ const code = normalizeNumpadKeys(args);
558
564
  if (this.editService.isEditingCell()) {
559
- const confirm = args.keyCode === Keys.Enter;
560
- const cancel = args.keyCode === Keys.Escape;
561
- const navigate = isNavigationKey(args.keyCode);
565
+ const confirm = code === Keys.Enter || code === Keys.NumpadEnter;
566
+ const cancel = code === Keys.Escape;
567
+ const navigate = isNavigationKey(code);
562
568
  if (confirm) {
563
569
  return !this.editService.closeCell(args);
564
570
  }
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1754579662,
14
- version: '19.3.0-develop.32',
13
+ publishDate: 1754895051,
14
+ version: '19.3.0-develop.34',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -8,7 +8,7 @@ import { NgFor, NgIf, NgClass, NgStyle } from '@angular/common';
8
8
  import { Subscription, of, merge } from "rxjs";
9
9
  import { filter, map, switchMap, tap, takeUntil } from 'rxjs/operators';
10
10
  import { LocalizationService } from '@progress/kendo-angular-l10n';
11
- import { Keys, DraggableDirective, TemplateContextDirective } from '@progress/kendo-angular-common';
11
+ import { Keys, DraggableDirective, TemplateContextDirective, normalizeNumpadKeys } from '@progress/kendo-angular-common';
12
12
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
13
13
  import { sortAscSmallIcon, sortDescSmallIcon } from '@progress/kendo-svg-icons';
14
14
  import { isColumnComponent } from '../../columns/column.component';
@@ -224,14 +224,15 @@ export class HeaderComponent {
224
224
  : event[`${multiSortKey}Key`];
225
225
  }
226
226
  onHeaderKeydown(column, args) {
227
- if (args.keyCode === Keys.ArrowDown && args.altKey && this.showFilterMenu) {
227
+ const code = normalizeNumpadKeys(args);
228
+ if (code === Keys.ArrowDown && args.altKey && this.showFilterMenu) {
228
229
  args.preventDefault();
229
230
  args.stopImmediatePropagation();
230
231
  const filterMenu = this.filterMenus.find(fm => fm.column === column);
231
232
  filterMenu.toggle(filterMenu.anchor.nativeElement, filterMenu.template);
232
233
  return;
233
234
  }
234
- if (args.keyCode === Keys.ArrowDown && args.altKey && this.showColumnMenu(column)) {
235
+ if (code === Keys.ArrowDown && args.altKey && this.showColumnMenu(column)) {
235
236
  args.preventDefault();
236
237
  args.stopImmediatePropagation();
237
238
  const columnMenu = this.columnMenus.find(cm => cm.column === column);
@@ -239,12 +240,12 @@ export class HeaderComponent {
239
240
  return;
240
241
  }
241
242
  const isCtrlOrMeta = args.ctrlKey || args.metaKey;
242
- const isLeftOrRightArrow = args.keyCode === Keys.ArrowLeft || args.keyCode === Keys.ArrowRight;
243
+ const isLeftOrRightArrow = code === Keys.ArrowLeft || code === Keys.ArrowRight;
243
244
  const isReorderingKeyShortcut = isLeftOrRightArrow && isCtrlOrMeta;
244
245
  if (isReorderingKeyShortcut && this.isReorderable(column)) {
245
246
  args.preventDefault();
246
247
  const columnsCount = this.columnInfoService.leafNamedColumns.length;
247
- const reorderDirection = args.keyCode === Keys.ArrowLeft ? -1 : 1;
248
+ const reorderDirection = code === Keys.ArrowLeft ? -1 : 1;
248
249
  const rtlMultiplier = this.contextService.localization.rtl ? -1 : 1;
249
250
  const reorderDirectionOffset = reorderDirection * rtlMultiplier;
250
251
  const newIndex = column.leafIndex + reorderDirectionOffset;
@@ -261,7 +262,7 @@ export class HeaderComponent {
261
262
  if (!this.sortable || args.defaultPrevented || column.sortable === false) {
262
263
  return;
263
264
  }
264
- if (args.keyCode === Keys.Enter && isPresent(column.field)) {
265
+ if (code === Keys.Enter && isPresent(column.field)) {
265
266
  const modifier = this.matchModifier(args);
266
267
  this.sortService.sort(this.toggleSort(column, modifier));
267
268
  }
@@ -19,7 +19,7 @@ import { SuspendService } from '../scrolling/suspend.service';
19
19
  import { expandColumns, sumColumnWidths } from "../columns/column-common";
20
20
  import { ScrollSyncService } from "../scrolling/scroll-sync.service";
21
21
  import { ResizeService } from "../layout/resize.service";
22
- import { EventsOutsideAngularDirective, ResizeSensorComponent } from "@progress/kendo-angular-common";
22
+ import { EventsOutsideAngularDirective, normalizeNumpadKeys, ResizeSensorComponent } from "@progress/kendo-angular-common";
23
23
  import { BrowserSupportService } from "../layout/browser-support.service";
24
24
  import { EditService } from '../editing/edit.service';
25
25
  import { NavigationService } from '../navigation/navigation.service';
@@ -291,8 +291,10 @@ export class ListComponent {
291
291
  }
292
292
  }
293
293
  lockedKeydown(args) {
294
- if (args.keyCode === Keys.PageDown || args.keyCode === Keys.PageUp) {
295
- const dir = args.keyCode === Keys.PageDown ? 1 : -1;
294
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
295
+ const code = normalizeNumpadKeys(args);
296
+ if (code === Keys.PageDown || code === Keys.PageUp) {
297
+ const dir = code === Keys.PageDown ? 1 : -1;
296
298
  const element = this.container.nativeElement;
297
299
  element.scrollTop += element.offsetHeight * dir * 0.8;
298
300
  args.preventDefault();
@@ -297,7 +297,7 @@ export class TableBodyComponent {
297
297
  this.domEvents.cellClick.emit(args);
298
298
  }
299
299
  cellKeydownHandler(args) {
300
- if (args.keyCode === Keys.Enter) {
300
+ if (args.code === Keys.Enter || args.code === Keys.NumpadEnter) {
301
301
  this.clickHandler(args);
302
302
  }
303
303
  }
@@ -6,7 +6,7 @@
6
6
  import { Component, Input, HostBinding, Renderer2, ElementRef } from '@angular/core';
7
7
  import { NgIf, NgTemplateOutlet } from '@angular/common';
8
8
  import { Subscription } from 'rxjs';
9
- import { Keys, isDocumentAvailable } from '@progress/kendo-angular-common';
9
+ import { Keys, isDocumentAvailable, normalizeNumpadKeys } from '@progress/kendo-angular-common';
10
10
  import { ContextService } from './../../common/provider.service';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "./../../common/provider.service";
@@ -44,7 +44,7 @@ export class ToolbarComponent {
44
44
  }
45
45
  onKeyDown(event) {
46
46
  if (this.navigable && isDocumentAvailable() && this.navigationService.navigableElements.length) {
47
- const keyCode = event.keyCode;
47
+ const keyCode = normalizeNumpadKeys(event);
48
48
  if (keyCode === Keys.ArrowLeft || keyCode === Keys.ArrowRight) {
49
49
  event.preventDefault();
50
50
  const dir = keyCode === Keys.ArrowLeft ? -1 : 1;
@@ -111,7 +111,7 @@ export class SelectionService {
111
111
  }
112
112
  const { dataItem, column, columnIndex, originalEvent } = args;
113
113
  const ctrlKey = originalEvent.ctrlKey || originalEvent.metaKey;
114
- if ((originalEvent.keyCode === Keys.Enter && !ctrlKey) || (originalEvent.button && originalEvent.button !== 0)) {
114
+ if (((originalEvent.code === Keys.Enter || originalEvent.code === Keys.NumpadEnter) && !ctrlKey) || (originalEvent.button && originalEvent.button !== 0)) {
115
115
  return;
116
116
  }
117
117
  const selected = this.isSelected(dataItem, column, columnIndex);
@@ -5,7 +5,7 @@
5
5
  import * as i0 from '@angular/core';
6
6
  import { Directive, Optional, EventEmitter, Injectable, QueryList, Input, ContentChildren, ContentChild, InjectionToken, forwardRef, Component, SkipSelf, Host, isDevMode, SecurityContext, Inject, Output, HostBinding, Pipe, ViewChild, ViewChildren, Self, HostListener, NgZone, TemplateRef, ChangeDetectionStrategy, ViewEncapsulation, NgModule } from '@angular/core';
7
7
  import * as i1$4 from '@progress/kendo-angular-common';
8
- import { isDocumentAvailable, isPresent as isPresent$1, hasClasses as hasClasses$1, Keys, anyChanged, isChanged as isChanged$1, ResizeSensorComponent, EventsOutsideAngularDirective, KendoInput, replaceMessagePlaceholder, guid, DraggableDirective, TemplateContextDirective, hasObservers, ResizeBatchService } from '@progress/kendo-angular-common';
8
+ import { isDocumentAvailable, isPresent as isPresent$1, hasClasses as hasClasses$1, Keys, normalizeNumpadKeys, anyChanged, isChanged as isChanged$1, ResizeSensorComponent, EventsOutsideAngularDirective, KendoInput, replaceMessagePlaceholder, guid, DraggableDirective, TemplateContextDirective, hasObservers, ResizeBatchService } from '@progress/kendo-angular-common';
9
9
  import * as i2 from '@progress/kendo-angular-icons';
10
10
  import { IconWrapperComponent, IconsService, KENDO_ICONS } from '@progress/kendo-angular-icons';
11
11
  import { DatePickerComponent, DatePickerCustomMessagesComponent, CalendarDOMService, CenturyViewService, DecadeViewService, MonthViewService, YearViewService, NavigationService as NavigationService$1 } from '@progress/kendo-angular-dateinputs';
@@ -49,8 +49,8 @@ const packageMetadata = {
49
49
  productName: 'Kendo UI for Angular',
50
50
  productCode: 'KENDOUIANGULAR',
51
51
  productCodes: ['KENDOUIANGULAR'],
52
- publishDate: 1754579662,
53
- version: '19.3.0-develop.32',
52
+ publishDate: 1754895051,
53
+ version: '19.3.0-develop.34',
54
54
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
55
55
  };
56
56
 
@@ -4358,7 +4358,7 @@ class SelectionService {
4358
4358
  }
4359
4359
  const { dataItem, column, columnIndex, originalEvent } = args;
4360
4360
  const ctrlKey = originalEvent.ctrlKey || originalEvent.metaKey;
4361
- if ((originalEvent.keyCode === Keys.Enter && !ctrlKey) || (originalEvent.button && originalEvent.button !== 0)) {
4361
+ if (((originalEvent.code === Keys.Enter || originalEvent.code === Keys.NumpadEnter) && !ctrlKey) || (originalEvent.button && originalEvent.button !== 0)) {
4362
4362
  return;
4363
4363
  }
4364
4364
  const selected = this.isSelected(dataItem, column, columnIndex);
@@ -4659,7 +4659,7 @@ class NavigationService {
4659
4659
  .subscribe(() => this.cursor.reset(0, 0)));
4660
4660
  this.subs.add(this.domEvents.keydown
4661
4661
  .subscribe(args => this.onKeydown(args)));
4662
- this.subs.add(this.domEvents.keydown.pipe(filter(args => args.keyCode === Keys.Tab && this.mode === 2 /* NavigationMode.Content */), switchMapTo(this.domEvents.focusOut.pipe(takeUntil(
4662
+ this.subs.add(this.domEvents.keydown.pipe(filter(args => args.code === Keys.Tab && this.mode === 2 /* NavigationMode.Content */), switchMapTo(this.domEvents.focusOut.pipe(takeUntil(
4663
4663
  // Timeout if focusOut doesn't fire very soon
4664
4664
  interval(0).pipe(take(1))))))
4665
4665
  .subscribe(() => this.onTabout()));
@@ -4876,8 +4876,10 @@ class NavigationService {
4876
4876
  if (!this.onCellKeydown(args)) {
4877
4877
  return;
4878
4878
  }
4879
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
4880
+ const code = normalizeNumpadKeys(args);
4879
4881
  const row = this.cursor.row;
4880
- switch (args.keyCode) {
4882
+ switch (code) {
4881
4883
  case Keys.Space:
4882
4884
  this.updateSelection(args);
4883
4885
  preventDefault = this.selectionService.enabled;
@@ -5019,13 +5021,15 @@ class NavigationService {
5019
5021
  if (!this.onCellKeydown(args)) {
5020
5022
  return;
5021
5023
  }
5022
- const confirm = !args.defaultPrevented && args.keyCode === Keys.Enter && isTextInput(args.target);
5023
- if (args.keyCode === Keys.Escape || args.keyCode === Keys.F2 || confirm) {
5024
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
5025
+ const code = normalizeNumpadKeys(args);
5026
+ const confirm = !args.defaultPrevented && code === Keys.Enter && isTextInput(args.target);
5027
+ if (code === Keys.Escape || code === Keys.F2 || confirm) {
5024
5028
  this.leaveCell();
5025
5029
  this.cursor.reset();
5026
5030
  args.stopPropagation();
5027
5031
  }
5028
- else if (isNavigationKey(args.keyCode) && this.cursor.cell.focusGroup.isNavigable()) {
5032
+ else if (isNavigationKey(code) && this.cursor.cell.focusGroup.isNavigable()) {
5029
5033
  this.onCursorKeydown(args);
5030
5034
  if (args.defaultPrevented) {
5031
5035
  this.leaveCell();
@@ -5033,10 +5037,12 @@ class NavigationService {
5033
5037
  }
5034
5038
  }
5035
5039
  onCellKeydown(args) {
5040
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
5041
+ const code = normalizeNumpadKeys(args);
5036
5042
  if (this.editService.isEditingCell()) {
5037
- const confirm = args.keyCode === Keys.Enter;
5038
- const cancel = args.keyCode === Keys.Escape;
5039
- const navigate = isNavigationKey(args.keyCode);
5043
+ const confirm = code === Keys.Enter || code === Keys.NumpadEnter;
5044
+ const cancel = code === Keys.Escape;
5045
+ const navigate = isNavigationKey(code);
5040
5046
  if (confirm) {
5041
5047
  return !this.editService.closeCell(args);
5042
5048
  }
@@ -6775,7 +6781,7 @@ class TableBodyComponent {
6775
6781
  this.domEvents.cellClick.emit(args);
6776
6782
  }
6777
6783
  cellKeydownHandler(args) {
6778
- if (args.keyCode === Keys.Enter) {
6784
+ if (args.code === Keys.Enter || args.code === Keys.NumpadEnter) {
6779
6785
  this.clickHandler(args);
6780
6786
  }
6781
6787
  }
@@ -8000,8 +8006,10 @@ class ListComponent {
8000
8006
  }
8001
8007
  }
8002
8008
  lockedKeydown(args) {
8003
- if (args.keyCode === Keys.PageDown || args.keyCode === Keys.PageUp) {
8004
- const dir = args.keyCode === Keys.PageDown ? 1 : -1;
8009
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
8010
+ const code = normalizeNumpadKeys(args);
8011
+ if (code === Keys.PageDown || code === Keys.PageUp) {
8012
+ const dir = code === Keys.PageDown ? 1 : -1;
8005
8013
  const element = this.container.nativeElement;
8006
8014
  element.scrollTop += element.offsetHeight * dir * 0.8;
8007
8015
  args.preventDefault();
@@ -9509,7 +9517,7 @@ class FilterCellOperatorsComponent {
9509
9517
  * @hidden
9510
9518
  */
9511
9519
  clearKeydown(args) {
9512
- if (args.keyCode === Keys.Enter || args.keyCode === Keys.Space) {
9520
+ if (args.code === Keys.Enter || args.code === Keys.NumpadEnter || args.code === Keys.Space) {
9513
9521
  this.clear.emit();
9514
9522
  }
9515
9523
  }
@@ -9520,7 +9528,7 @@ class FilterCellOperatorsComponent {
9520
9528
  if (args.defaultPrevented) {
9521
9529
  return;
9522
9530
  }
9523
- if (args.keyCode === Keys.Enter && !this.dropdown.isOpen) {
9531
+ if ((args.code === Keys.Enter || args.code === Keys.NumpadEnter) && !this.dropdown.isOpen) {
9524
9532
  this.dropdown.toggle(true);
9525
9533
  args.preventDefault();
9526
9534
  }
@@ -11025,7 +11033,7 @@ class FilterMenuDropDownListDirective {
11025
11033
  this.host.wrapper.nativeElement.removeEventListener('keydown', this.keydownHandler);
11026
11034
  }
11027
11035
  keydownHandler = (e) => {
11028
- if (e.keyCode === Keys.Escape && this.host.isOpen) {
11036
+ if (e.code === Keys.Escape && this.host.isOpen) {
11029
11037
  e.stopPropagation();
11030
11038
  this.host.toggle(false);
11031
11039
  }
@@ -13200,7 +13208,8 @@ class ColumnListComponent {
13200
13208
  }
13201
13209
  }
13202
13210
  onKeydown = (e) => {
13203
- if (e.keyCode !== Keys.Tab) {
13211
+ const code = normalizeNumpadKeys(e);
13212
+ if (code !== Keys.Tab) {
13204
13213
  e.preventDefault();
13205
13214
  }
13206
13215
  if (e.key === 'Tab' && !e.shiftKey && this.autoSync) {
@@ -13214,13 +13223,13 @@ class ColumnListComponent {
13214
13223
  }
13215
13224
  });
13216
13225
  }
13217
- if (e.keyCode === Keys.ArrowDown) {
13226
+ if (code === Keys.ArrowDown) {
13218
13227
  this.listNavigationService.next();
13219
13228
  }
13220
- else if (e.keyCode === Keys.ArrowUp) {
13229
+ else if (code === Keys.ArrowUp) {
13221
13230
  this.listNavigationService.prev();
13222
13231
  }
13223
- else if (e.keyCode === Keys.Space && e.target.classList.contains('k-column-list-item')) {
13232
+ else if (code === Keys.Space && e.target.classList.contains('k-column-list-item')) {
13224
13233
  this.listNavigationService.toggleCheckedState();
13225
13234
  }
13226
13235
  };
@@ -13896,7 +13905,7 @@ class ColumnMenuItemDirective {
13896
13905
  }
13897
13906
  }
13898
13907
  onTab = (e) => {
13899
- if (e.keyCode !== Keys.Tab) {
13908
+ if (e.code !== Keys.Tab) {
13900
13909
  return;
13901
13910
  }
13902
13911
  if (this.isFirst && e.shiftKey && e.target === this.columnMenuItems[0]) {
@@ -14961,14 +14970,15 @@ class HeaderComponent {
14961
14970
  : event[`${multiSortKey}Key`];
14962
14971
  }
14963
14972
  onHeaderKeydown(column, args) {
14964
- if (args.keyCode === Keys.ArrowDown && args.altKey && this.showFilterMenu) {
14973
+ const code = normalizeNumpadKeys(args);
14974
+ if (code === Keys.ArrowDown && args.altKey && this.showFilterMenu) {
14965
14975
  args.preventDefault();
14966
14976
  args.stopImmediatePropagation();
14967
14977
  const filterMenu = this.filterMenus.find(fm => fm.column === column);
14968
14978
  filterMenu.toggle(filterMenu.anchor.nativeElement, filterMenu.template);
14969
14979
  return;
14970
14980
  }
14971
- if (args.keyCode === Keys.ArrowDown && args.altKey && this.showColumnMenu(column)) {
14981
+ if (code === Keys.ArrowDown && args.altKey && this.showColumnMenu(column)) {
14972
14982
  args.preventDefault();
14973
14983
  args.stopImmediatePropagation();
14974
14984
  const columnMenu = this.columnMenus.find(cm => cm.column === column);
@@ -14976,12 +14986,12 @@ class HeaderComponent {
14976
14986
  return;
14977
14987
  }
14978
14988
  const isCtrlOrMeta = args.ctrlKey || args.metaKey;
14979
- const isLeftOrRightArrow = args.keyCode === Keys.ArrowLeft || args.keyCode === Keys.ArrowRight;
14989
+ const isLeftOrRightArrow = code === Keys.ArrowLeft || code === Keys.ArrowRight;
14980
14990
  const isReorderingKeyShortcut = isLeftOrRightArrow && isCtrlOrMeta;
14981
14991
  if (isReorderingKeyShortcut && this.isReorderable(column)) {
14982
14992
  args.preventDefault();
14983
14993
  const columnsCount = this.columnInfoService.leafNamedColumns.length;
14984
- const reorderDirection = args.keyCode === Keys.ArrowLeft ? -1 : 1;
14994
+ const reorderDirection = code === Keys.ArrowLeft ? -1 : 1;
14985
14995
  const rtlMultiplier = this.contextService.localization.rtl ? -1 : 1;
14986
14996
  const reorderDirectionOffset = reorderDirection * rtlMultiplier;
14987
14997
  const newIndex = column.leafIndex + reorderDirectionOffset;
@@ -14998,7 +15008,7 @@ class HeaderComponent {
14998
15008
  if (!this.sortable || args.defaultPrevented || column.sortable === false) {
14999
15009
  return;
15000
15010
  }
15001
- if (args.keyCode === Keys.Enter && isPresent(column.field)) {
15011
+ if (code === Keys.Enter && isPresent(column.field)) {
15002
15012
  const modifier = this.matchModifier(args);
15003
15013
  this.sortService.sort(this.toggleSort(column, modifier));
15004
15014
  }
@@ -15708,7 +15718,7 @@ class ToolbarComponent {
15708
15718
  }
15709
15719
  onKeyDown(event) {
15710
15720
  if (this.navigable && isDocumentAvailable() && this.navigationService.navigableElements.length) {
15711
- const keyCode = event.keyCode;
15721
+ const keyCode = normalizeNumpadKeys(event);
15712
15722
  if (keyCode === Keys.ArrowLeft || keyCode === Keys.ArrowRight) {
15713
15723
  event.preventDefault();
15714
15724
  const dir = keyCode === Keys.ArrowLeft ? -1 : 1;
@@ -22755,7 +22765,7 @@ class ColumnChooserComponent {
22755
22765
  const popupAriaElement = popupElement.querySelector('.k-popup');
22756
22766
  this.ngZone.runOutsideAngular(() => {
22757
22767
  this.escapeListener = this.renderer.listen(popupAriaElement, 'keydown', (e) => {
22758
- if (e.keyCode === Keys.Escape) {
22768
+ if (e.code === Keys.Escape) {
22759
22769
  this.close(true);
22760
22770
  }
22761
22771
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-treelist",
3
- "version": "19.3.0-develop.32",
3
+ "version": "19.3.0-develop.34",
4
4
  "description": "Kendo UI TreeList for Angular - Display hierarchical data in an Angular tree grid view that supports sorting, filtering, paging, and much more.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -24,7 +24,7 @@
24
24
  "package": {
25
25
  "productName": "Kendo UI for Angular",
26
26
  "productCode": "KENDOUIANGULAR",
27
- "publishDate": 1754579662,
27
+ "publishDate": 1754895051,
28
28
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
29
29
  }
30
30
  },
@@ -37,26 +37,26 @@
37
37
  "@progress/kendo-data-query": "^1.0.0",
38
38
  "@progress/kendo-drawing": "^1.21.0",
39
39
  "@progress/kendo-licensing": "^1.7.0",
40
- "@progress/kendo-angular-buttons": "19.3.0-develop.32",
41
- "@progress/kendo-angular-common": "19.3.0-develop.32",
42
- "@progress/kendo-angular-dateinputs": "19.3.0-develop.32",
43
- "@progress/kendo-angular-dropdowns": "19.3.0-develop.32",
44
- "@progress/kendo-angular-excel-export": "19.3.0-develop.32",
45
- "@progress/kendo-angular-icons": "19.3.0-develop.32",
46
- "@progress/kendo-angular-inputs": "19.3.0-develop.32",
47
- "@progress/kendo-angular-intl": "19.3.0-develop.32",
48
- "@progress/kendo-angular-l10n": "19.3.0-develop.32",
49
- "@progress/kendo-angular-label": "19.3.0-develop.32",
50
- "@progress/kendo-angular-pager": "19.3.0-develop.32",
51
- "@progress/kendo-angular-pdf-export": "19.3.0-develop.32",
52
- "@progress/kendo-angular-popup": "19.3.0-develop.32",
53
- "@progress/kendo-angular-toolbar": "19.3.0-develop.32",
54
- "@progress/kendo-angular-utils": "19.3.0-develop.32",
40
+ "@progress/kendo-angular-buttons": "19.3.0-develop.34",
41
+ "@progress/kendo-angular-common": "19.3.0-develop.34",
42
+ "@progress/kendo-angular-dateinputs": "19.3.0-develop.34",
43
+ "@progress/kendo-angular-dropdowns": "19.3.0-develop.34",
44
+ "@progress/kendo-angular-excel-export": "19.3.0-develop.34",
45
+ "@progress/kendo-angular-icons": "19.3.0-develop.34",
46
+ "@progress/kendo-angular-inputs": "19.3.0-develop.34",
47
+ "@progress/kendo-angular-intl": "19.3.0-develop.34",
48
+ "@progress/kendo-angular-l10n": "19.3.0-develop.34",
49
+ "@progress/kendo-angular-label": "19.3.0-develop.34",
50
+ "@progress/kendo-angular-pager": "19.3.0-develop.34",
51
+ "@progress/kendo-angular-pdf-export": "19.3.0-develop.34",
52
+ "@progress/kendo-angular-popup": "19.3.0-develop.34",
53
+ "@progress/kendo-angular-toolbar": "19.3.0-develop.34",
54
+ "@progress/kendo-angular-utils": "19.3.0-develop.34",
55
55
  "rxjs": "^6.5.3 || ^7.0.0"
56
56
  },
57
57
  "dependencies": {
58
58
  "tslib": "^2.3.1",
59
- "@progress/kendo-angular-schematics": "19.3.0-develop.32",
59
+ "@progress/kendo-angular-schematics": "19.3.0-develop.34",
60
60
  "@progress/kendo-common": "^1.0.1",
61
61
  "@progress/kendo-file-saver": "^1.0.0"
62
62
  },
@@ -113,7 +113,7 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
113
113
  init(): void;
114
114
  lockedScroll(): void;
115
115
  lockedMousewheel(args: any): void;
116
- lockedKeydown(args: any): void;
116
+ lockedKeydown(args: KeyboardEvent): void;
117
117
  updateViewportColumns(range?: any): void;
118
118
  private attachContainerScroll;
119
119
  private createScroller;
@@ -4,13 +4,13 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'TreeListModule', package: 'treelist', peerDependencies: {
6
6
  // peer dep of the dropdowns
7
- '@progress/kendo-angular-treeview': '19.3.0-develop.32',
7
+ '@progress/kendo-angular-treeview': '19.3.0-develop.34',
8
8
  // peer dependency of kendo-angular-inputs
9
- '@progress/kendo-angular-dialog': '19.3.0-develop.32',
9
+ '@progress/kendo-angular-dialog': '19.3.0-develop.34',
10
10
  // peer dependency of kendo-angular-icons
11
11
  '@progress/kendo-svg-icons': '^4.0.0',
12
12
  // peer dependency of kendo-angular-dateinputs
13
- '@progress/kendo-angular-navigation': '19.3.0-develop.32',
13
+ '@progress/kendo-angular-navigation': '19.3.0-develop.34',
14
14
  } });
15
15
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
16
16
  }