From 6d92bc304fd51a44c4c20f7954367b27331af493 Mon Sep 17 00:00:00 2001 From: nightwing Date: Wed, 15 Jun 2016 01:08:31 +0400 Subject: [PATCH] cleanup tree drag if mouseup was missed due to debugger --- node_modules/ace_tree/lib/ace_tree/mouse/drag_handler.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/node_modules/ace_tree/lib/ace_tree/mouse/drag_handler.js b/node_modules/ace_tree/lib/ace_tree/mouse/drag_handler.js index 22d1565d..d9254640 100644 --- a/node_modules/ace_tree/lib/ace_tree/mouse/drag_handler.js +++ b/node_modules/ace_tree/lib/ace_tree/mouse/drag_handler.js @@ -161,6 +161,7 @@ function initDragHandlers(mouseHandler) { mouseHandler.dragEnd = function(e, cancel) { if (dragInfo) { + window.removeEventListener("mousedown", keyHandler, true); window.removeEventListener("keydown", keyHandler, true); window.removeEventListener("keyup", keyHandler, true); if (dragInfo.el && dragInfo.el.parentNode) @@ -190,6 +191,8 @@ function initDragHandlers(mouseHandler) { }; mouseHandler.dragStart = function() { + if (dragInfo) + this.dragEnd(null, true); mouseHandler.setState("drag"); tree.renderer.visualizeBlur(); tree.renderer.setStyle("dragOver", true); @@ -205,6 +208,7 @@ function initDragHandlers(mouseHandler) { return; mouseHandler.dragStart(); + window.addEventListener("mousedown", keyHandler, true); window.addEventListener("keydown", keyHandler, true); window.addEventListener("keyup", keyHandler, true); @@ -267,7 +271,7 @@ function initDragHandlers(mouseHandler) { function keyHandler(e){ if (dragInfo) { - if (e.keyCode === 27) { + if (e.keyCode === 27 || e.type == "mousedown") { mouseHandler.dragEnd(null, true); event.stopEvent(e); } else if (dragInfo && e.keyCode == 17 || e.keyCode == 18) {