cleanup tree drag if mouseup was missed due to debugger

pull/314/merge
nightwing 2016-06-15 01:08:31 +04:00
rodzic 32db4ea7e5
commit 6d92bc304f
1 zmienionych plików z 5 dodań i 1 usunięć

Wyświetl plik

@ -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) {