From 2f8b1036da42ec3d15a51c6b17a473f9f4df71d3 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <bruederli@kolabsys.com>
Date: Sat, 07 Feb 2015 12:33:24 -0500
Subject: [PATCH] Bump version and copyright year

---
 program/js/treelist.js |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/program/js/treelist.js b/program/js/treelist.js
index bb847d1..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)
@@ -457,6 +462,10 @@
 
       node.deleted = true;
       delete indexbyid[id];
+
+      if (search_active) {
+        id2dom(id, false).remove();
+      }
 
       return true;
     }
@@ -907,9 +916,9 @@
    * When dragging starts, compute absolute bounding boxes of the list and it's items
    * for faster comparisons while mouse is moving
    */
-  function drag_start()
+  function drag_start(force)
   {
-    if (drag_active)
+    if (!force && drag_active)
       return;
 
     drag_active = true;
@@ -1050,7 +1059,7 @@
           autoexpand_item = id;
           autoexpand_timer = setTimeout(function() {
             expand(autoexpand_item);
-            drag_start();  // re-calculate item coords
+            drag_start(true);  // re-calculate item coords
             autoexpand_item = null;
             if (ui_droppable)
               $.ui.ddmanager.prepareOffsets($.ui.ddmanager.current, null);

--
Gitblit v1.9.1