From dd9ead0166181da4c7dd5471a84d7feb42dbb7e6 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 18 Mar 2020 21:09:52 +0000 Subject: [PATCH] Invite dialog: backspace on empty field remove right-most target Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/dialogs/InviteDialog.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/components/views/dialogs/InviteDialog.js b/src/components/views/dialogs/InviteDialog.js index 84ce69e174..8cf3967ac5 100644 --- a/src/components/views/dialogs/InviteDialog.js +++ b/src/components/views/dialogs/InviteDialog.js @@ -35,6 +35,7 @@ import createRoom, {canEncryptToAllUsers} from "../../../createRoom"; import {inviteMultipleToRoom} from "../../../RoomInvite"; import SettingsStore from '../../../settings/SettingsStore'; import RoomListStore, {TAG_DM} from "../../../stores/RoomListStore"; +import {Key} from "../../../Keyboard"; export const KIND_DM = "dm"; export const KIND_INVITE = "invite"; @@ -647,6 +648,14 @@ export default class InviteDialog extends React.PureComponent { this.props.onFinished(); }; + _onKeyDown = (e) => { + // when the field is empty and the user hits backspace remove the right-most target + if (!e.target.value && this.state.targets.length > 0 && e.key === Key.BACKSPACE && !e.ctrlKey && !e.shiftKey) { + e.preventDefault(); + this._removeMember(this.state.targets[this.state.targets.length - 1]); + } + }; + _updateFilter = (e) => { const term = e.target.value; this.setState({filterText: term}); @@ -988,8 +997,8 @@ export default class InviteDialog extends React.PureComponent { )); const input = (