From d3a82b0586e3c7268eae0244f69993e8eb7bec36 Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Wed, 3 Oct 2018 10:41:29 -0600 Subject: [PATCH] Fix type check errors in ol/pointer --- src/ol/pointer/MouseSource.js | 2 +- src/ol/pointer/MsSource.js | 1 + src/ol/pointer/PointerEventHandler.js | 4 ++-- src/ol/pointer/TouchSource.js | 10 +++++----- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/ol/pointer/MouseSource.js b/src/ol/pointer/MouseSource.js index bdcb96344d..169e4b55a6 100644 --- a/src/ol/pointer/MouseSource.js +++ b/src/ol/pointer/MouseSource.js @@ -226,7 +226,7 @@ class MouseSource extends EventSource { * @param {import("./PointerEventHandler.js").default} dispatcher Event handler. * @return {Object} The copied event. */ -function prepareEvent(inEvent, dispatcher) { +export function prepareEvent(inEvent, dispatcher) { const e = dispatcher.cloneEvent(inEvent, inEvent); // forward mouse preventDefault diff --git a/src/ol/pointer/MsSource.js b/src/ol/pointer/MsSource.js index 2c1893396b..385590222d 100644 --- a/src/ol/pointer/MsSource.js +++ b/src/ol/pointer/MsSource.js @@ -171,6 +171,7 @@ class MsSource extends EventSource { * @return {Object} The copied event. */ prepareEvent_(inEvent) { + /** @type {MSPointerEvent|Object} */ let e = inEvent; if (typeof inEvent.pointerType === 'number') { e = this.dispatcher.cloneEvent(inEvent, inEvent); diff --git a/src/ol/pointer/PointerEventHandler.js b/src/ol/pointer/PointerEventHandler.js index a12ca0ce88..46636d4c3d 100644 --- a/src/ol/pointer/PointerEventHandler.js +++ b/src/ol/pointer/PointerEventHandler.js @@ -36,7 +36,7 @@ import {listen, unlisten} from '../events.js'; import EventTarget from '../events/Target.js'; import {POINTER, MSPOINTER, TOUCH} from '../has.js'; import PointerEventType from '../pointer/EventType.js'; -import MouseSource from '../pointer/MouseSource.js'; +import MouseSource, {prepareEvent as prepareMouseEvent} from '../pointer/MouseSource.js'; import MsSource from '../pointer/MsSource.js'; import NativeSource from '../pointer/NativeSource.js'; import PointerEvent from '../pointer/PointerEvent.js'; @@ -402,7 +402,7 @@ class PointerEventHandler extends EventTarget { */ wrapMouseEvent(eventType, event) { const pointerEvent = this.makeEvent( - eventType, MouseSource.prepareEvent(event, this), event); + eventType, prepareMouseEvent(event, this), event); return pointerEvent; } diff --git a/src/ol/pointer/TouchSource.js b/src/ol/pointer/TouchSource.js index b629049d26..316a4233ae 100644 --- a/src/ol/pointer/TouchSource.js +++ b/src/ol/pointer/TouchSource.js @@ -300,12 +300,12 @@ class TouchSource extends EventSource { if (count >= touchList.length) { const d = []; for (let i = 0; i < count; ++i) { - const key = keys[i]; + const key = Number(keys[i]); const value = this.pointerMap[key]; // Never remove pointerId == 1, which is mouse. // Touch identifiers are 2 smaller than their pointerId, which is the // index in pointermap. - if (key != /** @type {string} */ (POINTER_ID) && !this.findTouch_(touchList, key - 2)) { + if (key != POINTER_ID && !this.findTouch_(touchList, key - 2)) { d.push(value.out); } } @@ -348,7 +348,7 @@ class TouchSource extends EventSource { this.dispatcher.move(event, browserEvent); if (outEvent && outTarget !== event.target) { outEvent.relatedTarget = event.target; - event.relatedTarget = outTarget; + /** @type {Object} */ (event).relatedTarget = outTarget; // recover from retargeting by shadow outEvent.target = outTarget; if (event.target) { @@ -356,8 +356,8 @@ class TouchSource extends EventSource { this.dispatcher.enterOver(event, browserEvent); } else { // clean up case when finger leaves the screen - event.target = outTarget; - event.relatedTarget = null; + /** @type {Object} */ (event).target = outTarget; + /** @type {Object} */ (event).relatedTarget = null; this.cancelOut_(browserEvent, event); } }