mirror of
https://github.com/konvajs/konva.git
synced 2026-01-23 05:14:58 +08:00
fix detach bug on destroy
This commit is contained in:
4
konva.min.js
vendored
4
konva.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -463,9 +463,11 @@ export class Transformer extends Group {
|
|||||||
*/
|
*/
|
||||||
detach() {
|
detach() {
|
||||||
// remove events
|
// remove events
|
||||||
|
if (this._nodes) {
|
||||||
this._nodes.forEach(node => {
|
this._nodes.forEach(node => {
|
||||||
node.off('.' + EVENTS_NAME);
|
node.off('.' + EVENTS_NAME);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
this._nodes = [];
|
this._nodes = [];
|
||||||
this._resetTransformCache();
|
this._resetTransformCache();
|
||||||
}
|
}
|
||||||
@@ -1004,6 +1006,13 @@ export class Transformer extends Group {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// let's find delta transform
|
||||||
|
// var dx = newAttrs.x - oldAttrs.x,
|
||||||
|
// dy = newAttrs.y - oldAttrs.y,
|
||||||
|
// angle = newAttrs.rotation - oldAttrs.rotation,
|
||||||
|
// scaleX = newAttrs.width / oldAttrs.width,
|
||||||
|
// scaleY = newAttrs.height / oldAttrs.height;
|
||||||
|
|
||||||
this._nodes.forEach(node => {
|
this._nodes.forEach(node => {
|
||||||
var oldRect = this.__getNodeShape(node, 0);
|
var oldRect = this.__getNodeShape(node, 0);
|
||||||
var newRect = transformAndRotateShape(oldRect, oldAttrs, newAttrs);
|
var newRect = transformAndRotateShape(oldRect, oldAttrs, newAttrs);
|
||||||
|
|||||||
@@ -1162,9 +1162,7 @@ suite('Transformer', function() {
|
|||||||
});
|
});
|
||||||
layer.add(image);
|
layer.add(image);
|
||||||
var tr = new Konva.Transformer({
|
var tr = new Konva.Transformer({
|
||||||
nodes: [image],
|
nodes: [image]
|
||||||
keepRatio: true,
|
|
||||||
centeredScaling: true
|
|
||||||
});
|
});
|
||||||
layer.add(tr);
|
layer.add(tr);
|
||||||
layer.draw();
|
layer.draw();
|
||||||
@@ -3713,7 +3711,7 @@ suite('Transformer', function() {
|
|||||||
assert.equal(dragend, 1);
|
assert.equal(dragend, 1);
|
||||||
});
|
});
|
||||||
|
|
||||||
test.only('reattach from several and drag one', function() {
|
test('reattach from several and drag one', function() {
|
||||||
var stage = addStage();
|
var stage = addStage();
|
||||||
var layer = new Konva.Layer();
|
var layer = new Konva.Layer();
|
||||||
stage.add(layer);
|
stage.add(layer);
|
||||||
|
|||||||
Reference in New Issue
Block a user