Skip to content

Commit 7d62595

Browse files
fix
1 parent b3f34ee commit 7d62595

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

packages/devextreme/js/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,7 @@ export class KeyboardNavigationController extends KeyboardNavigationControllerCo
312312
if (needUpdateFocus) {
313313
const isScrollEvent = !!e?.event?.type;
314314
const skipFocusEvent = e?.virtualColumnsScrolling && isScrollEvent;
315-
const preventScroll = !isFullUpdate;
316-
this._updateFocus(true, skipFocusEvent, preventScroll);
315+
this._updateFocus(true, skipFocusEvent, true);
317316
}
318317
}
319318
}
@@ -1632,7 +1631,7 @@ export class KeyboardNavigationController extends KeyboardNavigationControllerCo
16321631
gridCoreUtils.focusAndSelectElement(this, $focusedElement);
16331632
}
16341633

1635-
public _focus($cell, disableFocus?, skipFocusEvent?, preventScroll = false) {
1634+
public _focus($cell: dxElementWrapper, disableFocus?: boolean, skipFocusEvent?: boolean, preventScroll?: boolean) {
16361635
const $row = $cell && !$cell.hasClass(ROW_CLASS)
16371636
? $cell.closest(`.${ROW_CLASS}`)
16381637
: $cell;
@@ -1684,7 +1683,12 @@ export class KeyboardNavigationController extends KeyboardNavigationControllerCo
16841683
});
16851684
if (!skipFocusEvent) {
16861685
this._applyTabIndexToElement($focusElement);
1687-
$focusElement.get(0)?.focus({ preventScroll });
1686+
if (preventScroll) {
1687+
$focusElement.get(0)?.focus({ preventScroll });
1688+
} else {
1689+
// @ts-expect-error
1690+
eventsEngine.trigger($focusElement, 'focus');
1691+
}
16881692
}
16891693
if (disableFocus) {
16901694
$focusElement.addClass(CELL_FOCUS_DISABLED_CLASS);
@@ -1736,7 +1740,7 @@ export class KeyboardNavigationController extends KeyboardNavigationControllerCo
17361740
);
17371741
return;
17381742
}
1739-
!isFocusedElementDefined && this._focus($cell, false, skipFocusEvent);
1743+
!isFocusedElementDefined && this._focus($cell, false, skipFocusEvent, preventScroll);
17401744
} else if (
17411745
!isFocusedElementDefined
17421746
&& (this._isNeedFocus || this._isHiddenFocus)

0 commit comments

Comments
 (0)