better fix and test

This commit is contained in:
Anton Lavrenov 2018-04-11 11:24:09 +07:00
parent f01f810423
commit 824261ee6f
4 changed files with 40 additions and 30 deletions

View File

@ -10647,6 +10647,7 @@
if (Konva.inDblClickWindow) {
fireDblClick = true;
clearTimeout(this.dblTimeout);
// Konva.inDblClickWindow = false;
} else if (!dd || !dd.justDragged) {
// don't set inDblClickWindow after dragging
@ -10655,7 +10656,7 @@
dd.justDragged = false;
}
setTimeout(function() {
this.dblTimeout = setTimeout(function() {
Konva.inDblClickWindow = false;
}, Konva.dblClickWindow);
@ -10754,12 +10755,13 @@
if (Konva.inDblClickWindow) {
fireDblClick = true;
Konva.inDblClickWindow = false;
clearTimeout(this.dblTimeout);
// Konva.inDblClickWindow = false;
} else {
Konva.inDblClickWindow = true;
}
setTimeout(function() {
this.dblTimeout = setTimeout(function() {
Konva.inDblClickWindow = false;
}, Konva.dblClickWindow);

2
konva.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -550,6 +550,7 @@
if (Konva.inDblClickWindow) {
fireDblClick = true;
clearTimeout(this.dblTimeout);
// Konva.inDblClickWindow = false;
} else if (!dd || !dd.justDragged) {
// don't set inDblClickWindow after dragging
@ -558,7 +559,7 @@
dd.justDragged = false;
}
setTimeout(function() {
this.dblTimeout = setTimeout(function() {
Konva.inDblClickWindow = false;
}, Konva.dblClickWindow);
@ -657,12 +658,13 @@
if (Konva.inDblClickWindow) {
fireDblClick = true;
Konva.inDblClickWindow = false;
clearTimeout(this.dblTimeout);
// Konva.inDblClickWindow = false;
} else {
Konva.inDblClickWindow = true;
}
setTimeout(function() {
this.dblTimeout = setTimeout(function() {
Konva.inDblClickWindow = false;
}, Konva.dblClickWindow);

View File

@ -1783,7 +1783,7 @@ suite('MouseEvents', function() {
assert.equal(shape, circle);
});
it('double click after click should trigger event', function() {
it('double click after click should trigger event', function(done) {
var stage = addStage();
var layer = new Konva.Layer();
stage.add(layer);
@ -1835,30 +1835,36 @@ suite('MouseEvents', function() {
assert.equal(smallClicks, 0, 'no click on small rect');
assert.equal(smallDblClicks, 0, 'no dblclick on small rect');
stage.simulateMouseDown({
x: 100,
y: 100
});
stage.simulateMouseUp({
x: 100,
y: 100
});
setTimeout(function() {
stage.simulateMouseDown({
x: 100,
y: 100
});
stage.simulateMouseUp({
x: 100,
y: 100
});
assert.equal(bigClicks, 1, 'single click on big rect');
assert.equal(smallClicks, 1, 'single click on small rect');
assert.equal(smallDblClicks, 0, 'no dblclick on small rect');
assert.equal(bigClicks, 1, 'single click on big rect');
assert.equal(smallClicks, 1, 'single click on small rect');
assert.equal(smallDblClicks, 0, 'no dblclick on small rect');
stage.simulateMouseDown({
x: 100,
y: 100
});
stage.simulateMouseUp({
x: 100,
y: 100
});
setTimeout(function() {
stage.simulateMouseDown({
x: 100,
y: 100
});
stage.simulateMouseUp({
x: 100,
y: 100
});
assert.equal(bigClicks, 1, 'single click on big rect');
assert.equal(smallClicks, 2, 'second click on small rect');
assert.equal(smallDblClicks, 1, 'single dblclick on small rect');
assert.equal(bigClicks, 1, 'single click on big rect');
assert.equal(smallClicks, 2, 'second click on small rect');
assert.equal(smallDblClicks, 1, 'single dblclick on small rect');
done();
}, 200);
}, 200);
});
});