From ceee7eb110df884155af024f3b2b7eebb8dd3378 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <bruederli@kolabsys.com>
Date: Thu, 18 Dec 2014 07:13:07 -0500
Subject: [PATCH] Prevent folder selection changes if app is busy (#1490158)
---
program/js/treelist.js | 5 +++++
program/js/app.js | 1 +
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/program/js/app.js b/program/js/app.js
index e920789..3d714b9 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -574,6 +574,7 @@
this.treelist
.addEventListener('collapse', 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' }) });
}
diff --git a/program/js/treelist.js b/program/js/treelist.js
index 08e0e68..6f7bfbe 100644
--- a/program/js/treelist.js
+++ b/program/js/treelist.js
@@ -248,6 +248,11 @@
*/
function select(id)
{
+ // allow subscribes to prevent selection change
+ if (me.triggerEvent('beforeselect', indexbyid[id]) === false) {
+ return;
+ }
+
if (selection) {
id2dom(selection, true).removeClass('selected').removeAttr('aria-selected');
if (search_active)
--
Gitblit v1.9.1