Skip to content

Commit 4ff8866

Browse files
committed
fix(table): prevent default for data grid
1 parent 1a0eda6 commit 4ff8866

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/table/data-grid-focus.directive.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ export class DataGridFocus {
4242
}
4343
}
4444

45-
@HostListener("keyup", ["$event"])
46-
keyUp(event: KeyboardEvent) {
45+
@HostListener("keydown", ["$event"])
46+
keyDown(event: KeyboardEvent) {
4747
if (!this.ibmDataGridFocus) {
4848
return;
4949
}
@@ -58,6 +58,7 @@ export class DataGridFocus {
5858
case "Right": // IE specific value
5959
case "ArrowRight":
6060
if (element.nextElementSibling && Array.from(headerRow).indexOf(element.nextElementSibling) < headerRow.length - 1) {
61+
event.preventDefault();
6162
this.columnIndex++;
6263
const nextSibling = element.nextElementSibling;
6364
Table.setTabIndex(element, -1);
@@ -68,6 +69,7 @@ export class DataGridFocus {
6869
case "Left": // IE specific value
6970
case "ArrowLeft":
7071
if (element.previousElementSibling) {
72+
event.preventDefault();
7173
this.columnIndex--;
7274
const previousSibling = element.previousElementSibling;
7375
Table.setTabIndex(element, -1);
@@ -78,6 +80,7 @@ export class DataGridFocus {
7880
case "Down": // IE specific value
7981
case "ArrowDown":
8082
if (rowIndex < rows.length - 1) {
83+
event.preventDefault();
8184
rowIndex++;
8285
const row = rows[rowIndex].querySelectorAll("td");
8386
Table.setTabIndex(element, -1);
@@ -95,6 +98,7 @@ export class DataGridFocus {
9598
break;
9699
case "Up": // IE specific value
97100
case "ArrowUp":
101+
event.preventDefault();
98102
if ((rowIndex === 1 && Array.from(headerRow).every(th => getFocusElementList(th, tabbableSelectorIgnoreTabIndex).length === 0)) ||
99103
rowIndex === 0) {
100104
return;
@@ -114,6 +118,7 @@ export class DataGridFocus {
114118
}
115119
break;
116120
case "Home":
121+
event.preventDefault();
117122
this.columnIndex = 0;
118123
Table.setTabIndex(element, -1);
119124
if (event.ctrlKey) {
@@ -132,6 +137,7 @@ export class DataGridFocus {
132137
}
133138
break;
134139
case "End":
140+
event.preventDefault();
135141
const lastRow = rows[rows.length - 1].querySelectorAll("td");
136142
Table.setTabIndex(element, -1);
137143
if (event.ctrlKey) {

0 commit comments

Comments
 (0)