summaryrefslogtreecommitdiff
path: root/program/js
diff options
context:
space:
mode:
Diffstat (limited to 'program/js')
-rw-r--r--program/js/app.js4
-rw-r--r--program/js/treelist.js9
2 files changed, 9 insertions, 4 deletions
diff --git a/program/js/app.js b/program/js/app.js
index e5a70c9f1..3ace0b0b0 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -1660,7 +1660,7 @@ function rcube_webmail()
}
skip = obj.data('parent');
}
- }, 10);
+ }, 10, e);
};
// global keypress event handler
@@ -6902,7 +6902,7 @@ function rcube_webmail()
// truncate stack down to the one containing the ref link
for (var i = this.menu_stack.length - 1; stack && i >= 0; i--) {
if (!$(ref).parents('#'+this.menu_stack[i]).length)
- this.hide_menu(this.menu_stack[i]);
+ this.hide_menu(this.menu_stack[i], event);
}
if (stack && this.menu_stack.length) {
obj.data('parent', $.last(this.menu_stack));
diff --git a/program/js/treelist.js b/program/js/treelist.js
index a7cd7cd43..c034f77b8 100644
--- a/program/js/treelist.js
+++ b/program/js/treelist.js
@@ -458,6 +458,10 @@ function rcube_treelist_widget(node, p)
node.deleted = true;
delete indexbyid[id];
+ if (search_active) {
+ id2dom(id, false).remove();
+ }
+
return true;
}
@@ -477,7 +481,7 @@ function rcube_treelist_widget(node, p)
*/
function update_dom(node)
{
- var li = id2dom(node.id);
+ var li = id2dom(node.id, true);
li.attr('aria-expanded', node.collapsed ? 'false' : 'true');
li.children('ul').first()[(node.collapsed ? 'hide' : 'show')]();
li.children('div.treetoggle').removeClass('collapsed expanded').addClass(node.collapsed ? 'collapsed' : 'expanded');
@@ -698,7 +702,8 @@ function rcube_treelist_widget(node, p)
node.childlistclass = sublist.attr('class');
}
if (node.children.length) {
- node.collapsed = sublist.css('display') == 'none';
+ if (node.collapsed === undefined)
+ node.collapsed = sublist.css('display') == 'none';
// apply saved state
state = get_state(node.id, node.collapsed);