Make email escape close reliable
This commit is contained in:
@@ -453,7 +453,7 @@ export function openEmailLibrary(opts = {}) {
|
|||||||
const existing = document.getElementById('email-lib-modal');
|
const existing = document.getElementById('email-lib-modal');
|
||||||
if (existing) existing.remove();
|
if (existing) existing.remove();
|
||||||
if (state._libEscHandler) {
|
if (state._libEscHandler) {
|
||||||
document.removeEventListener('keydown', state._libEscHandler);
|
document.removeEventListener('keydown', state._libEscHandler, true);
|
||||||
state._libEscHandler = null;
|
state._libEscHandler = null;
|
||||||
}
|
}
|
||||||
state._libOpen = true;
|
state._libOpen = true;
|
||||||
@@ -958,11 +958,13 @@ export function openEmailLibrary(opts = {}) {
|
|||||||
|
|
||||||
// ESC to close + Arrow nav + Delete on the selected / currently-expanded email.
|
// ESC to close + Arrow nav + Delete on the selected / currently-expanded email.
|
||||||
state._libEscHandler = (e) => {
|
state._libEscHandler = (e) => {
|
||||||
|
const modal = document.getElementById('email-lib-modal');
|
||||||
|
if (!modal || modal.classList.contains('hidden')) return;
|
||||||
if (e.key === 'Escape') {
|
if (e.key === 'Escape') {
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopPropagation();
|
||||||
|
e.stopImmediatePropagation?.();
|
||||||
if (state._selectMode) {
|
if (state._selectMode) {
|
||||||
e.preventDefault();
|
|
||||||
e.stopPropagation();
|
|
||||||
e.stopImmediatePropagation?.();
|
|
||||||
state._selectMode = false;
|
state._selectMode = false;
|
||||||
state._selectedUids.clear();
|
state._selectedUids.clear();
|
||||||
_updateBulkBar();
|
_updateBulkBar();
|
||||||
@@ -995,7 +997,7 @@ export function openEmailLibrary(opts = {}) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
document.addEventListener('keydown', state._libEscHandler);
|
document.addEventListener('keydown', state._libEscHandler, true);
|
||||||
|
|
||||||
_loadAccounts();
|
_loadAccounts();
|
||||||
_loadFolders();
|
_loadFolders();
|
||||||
@@ -1047,7 +1049,7 @@ export function closeEmailLibrary() {
|
|||||||
if (modal) modal.remove();
|
if (modal) modal.remove();
|
||||||
_clearEmailDocumentSplit();
|
_clearEmailDocumentSplit();
|
||||||
if (state._libEscHandler) {
|
if (state._libEscHandler) {
|
||||||
document.removeEventListener('keydown', state._libEscHandler);
|
document.removeEventListener('keydown', state._libEscHandler, true);
|
||||||
state._libEscHandler = null;
|
state._libEscHandler = null;
|
||||||
}
|
}
|
||||||
state._libOpen = false;
|
state._libOpen = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user