in webui/js/source/key-commands.js [70:129]
function hideWindows(force_all) {
// First, check if we want to hide a modal
let modalId = document.getElementById('modal');
if (modalId && modalId.style.display == 'block') {
modalId.style.display = 'none';
if (force_all !== true) return;
}
// RThen, check if we want to hide a composer modal
let cmodal = document.getElementById('composer_modal');
if (cmodal && cmodal.style.display == 'block') {
cmodal.style.display = 'none';
if (force_all !== true) return;
}
// Check Advanced Search
let as = document.getElementById('advanced_search');
if (as && as.style.display == 'block') {
as.style.display = 'none';
if (force_all !== true) return;
}
// Check for individually opened email
if (G_current_email_idx !== undefined) {
let placeholder = document.getElementById('email_%u'.format(G_current_email_idx));
if (placeholder) {
placeholder.style.display = 'none';
}
G_current_email_idx = undefined; // undef this even if we can't find the email
if (force_all !== true) return;
}
// if viewing a single thread, disregard the collapses below - the won't make sense!
if (location.href.match(/thread(?:\.html)?/)) return;
// Finally, check for other opened emails, close 'em all
let placeholders = document.getElementsByClassName('email_placeholder');
for (let placeholder of placeholders) {
if (placeholder.style.display == 'block') {
placeholder.style.display = 'none';
// Reset scroll cache
try {
window.scrollTo(0, 0);
} catch (e) {}
}
}
placeholders = document.getElementsByClassName('email_placeholder_chatty');
for (let placeholder of placeholders) {
if (placeholder.style.display == 'block') {
placeholder.style.display = 'none';
// Reset scroll cache
try {
window.scrollTo(0, 0);
} catch (e) {}
}
}
}