Prevent folder selection changes if app is busy (#1490158)

pull/242/merge
Thomas Bruederli 10 years ago
parent da0d0aca2a
commit ceee7eb110

@ -574,6 +574,7 @@ function rcube_webmail()
this.treelist this.treelist
.addEventListener('collapse', function(node) { ref.folder_collapsed(node) }) .addEventListener('collapse', function(node) { ref.folder_collapsed(node) })
.addEventListener('expand', function(node) { ref.folder_collapsed(node) }) .addEventListener('expand', function(node) { ref.folder_collapsed(node) })
.addEventListener('beforeselect', function(node) { return !ref.busy; })
.addEventListener('select', function(node) { ref.triggerEvent('selectfolder', { folder:node.id, prefix:'rcmli' }) }); .addEventListener('select', function(node) { ref.triggerEvent('selectfolder', { folder:node.id, prefix:'rcmli' }) });
} }

@ -248,6 +248,11 @@ function rcube_treelist_widget(node, p)
*/ */
function select(id) function select(id)
{ {
// allow subscribes to prevent selection change
if (me.triggerEvent('beforeselect', indexbyid[id]) === false) {
return;
}
if (selection) { if (selection) {
id2dom(selection, true).removeClass('selected').removeAttr('aria-selected'); id2dom(selection, true).removeClass('selected').removeAttr('aria-selected');
if (search_active) if (search_active)

Loading…
Cancel
Save