Merge pull request #4996 from matrix-org/t3chguy/room-list/14491

Fix enter in new room list filter breaking things
This commit is contained in:
Michael Telatynski 2020-07-16 12:41:39 +01:00 committed by GitHub
commit b1d57ca13e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 5 deletions

View file

@ -269,7 +269,7 @@ export default class LeftPanel2 extends React.Component<IProps, IState> {
const firstRoom = this.listContainerRef.current.querySelector<HTMLDivElement>(".mx_RoomTile2"); const firstRoom = this.listContainerRef.current.querySelector<HTMLDivElement>(".mx_RoomTile2");
if (firstRoom) { if (firstRoom) {
firstRoom.click(); firstRoom.click();
this.onSearch(""); // clear the search field return true; // to get the field to clear
} }
}; };

View file

@ -28,8 +28,8 @@ import { Action } from "../../dispatcher/actions";
interface IProps { interface IProps {
onQueryUpdate: (newQuery: string) => void; onQueryUpdate: (newQuery: string) => void;
isMinimized: boolean; isMinimized: boolean;
onVerticalArrow(ev: React.KeyboardEvent); onVerticalArrow(ev: React.KeyboardEvent): void;
onEnter(ev: React.KeyboardEvent); onEnter(ev: React.KeyboardEvent): boolean;
} }
interface IState { interface IState {
@ -107,7 +107,13 @@ export default class RoomSearch extends React.PureComponent<IProps, IState> {
} else if (ev.key === Key.ARROW_UP || ev.key === Key.ARROW_DOWN) { } else if (ev.key === Key.ARROW_UP || ev.key === Key.ARROW_DOWN) {
this.props.onVerticalArrow(ev); this.props.onVerticalArrow(ev);
} else if (ev.key === Key.ENTER) { } else if (ev.key === Key.ENTER) {
this.props.onEnter(ev); const shouldClear = this.props.onEnter(ev);
if (shouldClear) {
// wrap in set immediate to delay it so that we don't clear the filter & then change room
setImmediate(() => {
this.clearInput();
});
}
} }
}; };

View file

@ -33,7 +33,6 @@ import { isNullOrUndefined } from "matrix-js-sdk/src/utils";
import RoomListLayoutStore from "./RoomListLayoutStore"; import RoomListLayoutStore from "./RoomListLayoutStore";
import { MarkedExecution } from "../../utils/MarkedExecution"; import { MarkedExecution } from "../../utils/MarkedExecution";
import { AsyncStoreWithClient } from "../AsyncStoreWithClient"; import { AsyncStoreWithClient } from "../AsyncStoreWithClient";
import { MatrixClientPeg } from "../../MatrixClientPeg";
interface IState { interface IState {
tagsEnabled?: boolean; tagsEnabled?: boolean;