Skip to content

Commit dd030a2

Browse files
committed
fixup! ✨(frontend) enable enter key to open documents and subdocuments
1 parent a007887 commit dd030a2

File tree

3 files changed

+31
-61
lines changed

3 files changed

+31
-61
lines changed

src/frontend/apps/impress/src/features/docs/doc-tree/components/DocSubPageItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { useResponsiveStore } from '@/stores';
2121

2222
import SubPageIcon from './../assets/sub-page-logo.svg';
2323
import { DocTreeItemActions } from './DocTreeItemActions';
24-
import { useKeyboardActivation } from './hooks/useKeyboardActivation';
24+
import { useKeyboardActivation } from '../hooks/useKeyboardActivation';
2525

2626
const ItemTextCss = css`
2727
overflow: hidden;

src/frontend/apps/impress/src/features/docs/doc-tree/components/hooks/useKeyboardActivation.ts

Lines changed: 0 additions & 60 deletions
This file was deleted.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { useEffect } from 'react';
2+
3+
import { SELECTORS } from '../components/dom-selectors';
4+
5+
export const useKeyboardActivation = (
6+
keys: string[],
7+
enabled: boolean,
8+
action: () => void,
9+
capture = false,
10+
) => {
11+
useEffect(() => {
12+
if (!enabled) {
13+
return;
14+
}
15+
const onKeyDown = (e: KeyboardEvent) => {
16+
if (keys.includes(e.key)) {
17+
e.preventDefault();
18+
action();
19+
}
20+
};
21+
const treeEl = document.querySelector<HTMLElement>('.c__tree-view');
22+
if (!treeEl) {
23+
return;
24+
}
25+
treeEl.addEventListener('keydown', onKeyDown, capture);
26+
return () => {
27+
treeEl.removeEventListener('keydown', onKeyDown, capture);
28+
};
29+
}, [keys, enabled, action, capture]);
30+
};

0 commit comments

Comments
 (0)