fix "removing parent element of a dragging node will throw an error". close #166

This commit is contained in:
Anton Lavrenov
2016-08-30 09:07:32 +03:00
parent 9bbb916971
commit 2dde724694
2 changed files with 35 additions and 2 deletions

View File

@@ -76,7 +76,10 @@
delete dd.node;
(layer || node).draw();
if (node.getLayer() || layer) {
(layer || node).draw();
}
}
},
_endDragAfter: function(evt) {

View File

@@ -286,4 +286,34 @@ suite('DragAndDrop', function() {
});
});
});
// ======================================================
test('removing parent of draggable node should not throw error', function() {
var stage = addStage();
var layer = new Konva.Layer();
stage.add(layer);
var circle = new Konva.Circle({
x: 380,
y: stage.getHeight() / 2,
radius: 70,
strokeWidth: 4,
fill: 'red',
stroke: 'black',
draggable: true
});
layer.add(circle);
stage.simulateMouseMove({
x: stage.width() / 2 + 5,
y: stage.height() / 2
});
circle.startDrag();
try {
layer.destroy();
assert.equal(true, true, 'no error, that is very good');
} catch (e) {
assert.equal(true, false, 'error happened');
}
});
});