Fix pasting not working #551
This commit is contained in:
parent
0b70c7e490
commit
4a715bfd17
2 changed files with 12 additions and 6 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Loading…
Reference in a new issue