From 83b5834360f7863227e4ce4e43415d26d1b74e23 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 12 Jan 2015 13:02:29 -0500
Subject: [PATCH] Skip .skip-on-drag elements when producing long subject title

---
 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