Do not emulate dblclick on multi-touch

This commit is contained in:
Andreas Hocevar
2020-10-21 00:44:25 +02:00
parent bfeeba2194
commit 63a784531d
2 changed files with 21 additions and 1 deletions

View File

@@ -137,7 +137,7 @@ class MapBrowserEventHandler extends EventTarget {
pointerEvent pointerEvent
); );
this.dispatchEvent(newEvent); this.dispatchEvent(newEvent);
} else { } else if (this.activePointers_ === 0) {
// click // click
this.clickTimeoutId_ = setTimeout( this.clickTimeoutId_ = setTimeout(
/** @this {MapBrowserEventHandler} */ /** @this {MapBrowserEventHandler} */

View File

@@ -82,6 +82,26 @@ describe('ol/MapBrowserEventHandler', function () {
expect(singleclickSpy.called).to.not.be.ok(); expect(singleclickSpy.called).to.not.be.ok();
expect(dblclickSpy.calledOnce).to.be.ok(); expect(dblclickSpy.calledOnce).to.be.ok();
}); });
it('does not emulate dblclick when multiple pointers are involved', function () {
const event = new Event();
event.type = 'pointerdown';
event.target = target;
event.clientX = 0;
event.clientY = 0;
handler.activePointers_ = 1;
handler.emulateClick_(event);
expect(singleclickSpy.called).to.not.be.ok();
expect(dblclickSpy.called).to.not.be.ok();
handler.emulateClick_(event);
expect(singleclickSpy.called).to.not.be.ok();
expect(dblclickSpy.called).to.not.be.ok();
clock.tick(250);
expect(singleclickSpy.called).to.not.be.ok();
expect(dblclickSpy.called).to.not.be.ok();
});
}); });
describe('#down_', function () { describe('#down_', function () {