From b7c23b690c41e8b3c407a0551eb40787f7d5be88 Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Mon, 6 Jul 2020 01:14:02 +0100
Subject: [PATCH] Include more classes for room list keyboard navigation
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---
src/components/structures/LeftPanel2.tsx | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/components/structures/LeftPanel2.tsx b/src/components/structures/LeftPanel2.tsx
index 0b3fa2f7f6..70fcf327b3 100644
--- a/src/components/structures/LeftPanel2.tsx
+++ b/src/components/structures/LeftPanel2.tsx
@@ -55,6 +55,15 @@ interface IState {
showTagPanel: boolean;
}
+// List of CSS classes which should be included in keyboard navigation within the room list
+const cssClasses = [
+ "mx_RoomSearch_input",
+ "mx_RoomSearch_icon", // minimized
+ "mx_RoomSublist2_headerText",
+ "mx_RoomTile2",
+ "mx_RoomSublist2_showNButton",
+];
+
export default class LeftPanel2 extends React.Component {
private listContainerRef: React.RefObject = createRef();
private tagPanelWatcherRef: string;
@@ -204,10 +213,7 @@ export default class LeftPanel2 extends React.Component {
if (element) {
classes = element.classList;
}
- } while (element && !(
- classes.contains("mx_RoomTile2") ||
- classes.contains("mx_RoomSublist2_headerText") ||
- classes.contains("mx_RoomSearch_input")));
+ } while (element && !cssClasses.some(c => classes.contains(c)));
if (element) {
element.focus();