mirror of
https://github.com/konvajs/konva.git
synced 2025-06-28 15:23:44 +08:00
fix deatach
This commit is contained in:
parent
b8a3a5af19
commit
f58635bbf6
@ -5,6 +5,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
|
|
||||||
## Not released:
|
## Not released:
|
||||||
|
|
||||||
|
* Deatach fixes for `Konva.Transformer`
|
||||||
|
|
||||||
## 5.0.1 - 2020-04-22
|
## 5.0.1 - 2020-04-22
|
||||||
|
|
||||||
|
@ -462,10 +462,11 @@ export class Transformer extends Group {
|
|||||||
* transformer.detach();
|
* transformer.detach();
|
||||||
*/
|
*/
|
||||||
detach() {
|
detach() {
|
||||||
if (this.getNode()) {
|
// remove events
|
||||||
this.getNode().off('.' + EVENTS_NAME);
|
this._nodes.forEach(node => {
|
||||||
this._nodes = [];
|
node.off('.' + EVENTS_NAME);
|
||||||
}
|
});
|
||||||
|
this._nodes = [];
|
||||||
this._resetTransformCache();
|
this._resetTransformCache();
|
||||||
}
|
}
|
||||||
_resetTransformCache() {
|
_resetTransformCache() {
|
||||||
|
@ -238,7 +238,7 @@ suite('Transformer', function() {
|
|||||||
layer.draw();
|
layer.draw();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('try to resize on draggable stage', function() {
|
test('try to resize in draggable stage', function() {
|
||||||
var stage = addStage();
|
var stage = addStage();
|
||||||
stage.draggable(true);
|
stage.draggable(true);
|
||||||
var layer = new Konva.Layer();
|
var layer = new Konva.Layer();
|
||||||
@ -3713,6 +3713,60 @@ suite('Transformer', function() {
|
|||||||
assert.equal(dragend, 1);
|
assert.equal(dragend, 1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test.only('reattach from several and drag one', function() {
|
||||||
|
var stage = addStage();
|
||||||
|
var layer = new Konva.Layer();
|
||||||
|
stage.add(layer);
|
||||||
|
|
||||||
|
var rect1 = new Konva.Rect({
|
||||||
|
x: 50,
|
||||||
|
y: 50,
|
||||||
|
draggable: true,
|
||||||
|
width: 50,
|
||||||
|
height: 50,
|
||||||
|
fill: 'yellow'
|
||||||
|
});
|
||||||
|
layer.add(rect1);
|
||||||
|
|
||||||
|
var rect2 = new Konva.Rect({
|
||||||
|
x: 100,
|
||||||
|
y: 100,
|
||||||
|
draggable: true,
|
||||||
|
width: 50,
|
||||||
|
height: 50,
|
||||||
|
fill: 'red'
|
||||||
|
});
|
||||||
|
|
||||||
|
layer.add(rect2);
|
||||||
|
|
||||||
|
var tr = new Konva.Transformer({
|
||||||
|
nodes: [rect1, rect2]
|
||||||
|
});
|
||||||
|
layer.add(tr);
|
||||||
|
layer.draw();
|
||||||
|
|
||||||
|
tr.nodes([rect1]);
|
||||||
|
|
||||||
|
// now drag just the first
|
||||||
|
stage.simulateMouseDown({
|
||||||
|
x: 125,
|
||||||
|
y: 125
|
||||||
|
});
|
||||||
|
stage.simulateMouseMove({
|
||||||
|
x: 130,
|
||||||
|
y: 130
|
||||||
|
});
|
||||||
|
|
||||||
|
stage.simulateMouseUp({
|
||||||
|
x: 130,
|
||||||
|
y: 130
|
||||||
|
});
|
||||||
|
|
||||||
|
// no changes on the second
|
||||||
|
assert.equal(rect1.x(), 50);
|
||||||
|
assert.equal(rect1.y(), 50);
|
||||||
|
});
|
||||||
|
|
||||||
test('transformer should not hide shapes', function() {
|
test('transformer should not hide shapes', function() {
|
||||||
var stage = addStage();
|
var stage = addStage();
|
||||||
var layer = new Konva.Layer();
|
var layer = new Konva.Layer();
|
||||||
|
Loading…
Reference in New Issue
Block a user