ignore arrows events when the textarea is selected

Fixes #1416
pull/1421/head
Audric Ackermann 4 years ago
parent 16c9bf27c9
commit d2fab26a5d
No known key found for this signature in database
GPG Key ID: 999F434D76324AD4

@ -709,6 +709,9 @@ export class SessionCompositionBox extends React.Component<Props, State> {
await this.onSendMessage(); await this.onSendMessage();
} else if (event.key === 'Escape' && this.state.showEmojiPanel) { } else if (event.key === 'Escape' && this.state.showEmojiPanel) {
this.hideEmojiPanel(); this.hideEmojiPanel();
} else if (event.key === 'PageUp' || event.key === 'PageDown') {
// swallow pageUp events if they occurs on the composition box (it breaks the app layout)
event.preventDefault();
} }
} }

@ -307,6 +307,7 @@ export class SessionConversation extends React.Component<Props, State> {
/> */} /> */}
<div <div
// if you change the classname, also update it on onKeyDown
className={classNames( className={classNames(
'conversation-content', 'conversation-content',
selectionMode && 'selection-mode' selectionMode && 'selection-mode'
@ -888,26 +889,28 @@ export class SessionConversation extends React.Component<Props, State> {
} }
// EXIT WHAT ELSE? // EXIT WHAT ELSE?
} }
switch (event.key) { if (event.target.classList.contains('conversation-content')) {
case 'Escape': switch (event.key) {
if (selectionMode) { case 'Escape':
this.resetSelection(); if (selectionMode) {
} this.resetSelection();
break; }
// Scrolling break;
case 'ArrowUp': // Scrolling
messageContainer.scrollBy(0, -arrowScrollPx); case 'ArrowUp':
break; messageContainer.scrollBy(0, -arrowScrollPx);
case 'ArrowDown': break;
messageContainer.scrollBy(0, arrowScrollPx); case 'ArrowDown':
break; messageContainer.scrollBy(0, arrowScrollPx);
case 'PageUp': break;
messageContainer.scrollBy(0, -pageScrollPx); case 'PageUp':
break; messageContainer.scrollBy(0, -pageScrollPx);
case 'PageDown': break;
messageContainer.scrollBy(0, pageScrollPx); case 'PageDown':
break; messageContainer.scrollBy(0, pageScrollPx);
default: break;
default:
}
} }
} }

Loading…
Cancel
Save