Fix pasting not working #551

This commit is contained in:
Ajay Bura 2022-05-14 08:24:21 +05:30
parent 0b70c7e490
commit 4a715bfd17
2 changed files with 12 additions and 6 deletions

View file

@ -33,22 +33,22 @@ function listenKeyboard(event) {
// open search modal // open search modal
if (event.code === 'KeyK') { if (event.code === 'KeyK') {
event.preventDefault(); event.preventDefault();
if (navigation.isRawModalVisible) { if (navigation.isRawModalVisible) return;
return;
}
openSearch(); openSearch();
} }
// focus message field on paste // focus message field on paste
if (event.code === 'KeyV') { if (event.code === 'KeyV') {
if (navigation.isRawModalVisible) return;
const msgTextarea = document.getElementById('message-textarea'); const msgTextarea = document.getElementById('message-textarea');
if (document.activeElement !== msgTextarea && document.activeElement.tagName.toLowerCase() === 'input') return;
msgTextarea?.focus(); msgTextarea?.focus();
} }
} }
if (!event.ctrlKey && !event.altKey && !event.metaKey) { if (!event.ctrlKey && !event.altKey && !event.metaKey) {
if (navigation.isRawModalVisible) return; if (navigation.isRawModalVisible) return;
if (['text', 'textarea'].includes(document.activeElement.type)) { if (document.activeElement.tagName.toLowerCase() === 'input') {
return; return;
} }

View file

@ -14,7 +14,8 @@ class Navigation extends EventEmitter {
this.isRoomSettings = false; this.isRoomSettings = false;
this.recentRooms = []; this.recentRooms = [];
this.isRawModalVisible = false; this.rawModelStack = [];
window.nav = this;
} }
_setSpacePath(roomId) { _setSpacePath(roomId) {
@ -47,8 +48,13 @@ class Navigation extends EventEmitter {
} }
} }
get isRawModalVisible() {
return this.rawModelStack.length > 0;
}
setIsRawModalVisible(visible) { setIsRawModalVisible(visible) {
this.isRawModalVisible = visible; if (visible) this.rawModelStack.push(true);
else this.rawModelStack.pop();
} }
navigate(action) { navigate(action) {