Fix type check errors in ol/pointer
This commit is contained in:
@@ -226,7 +226,7 @@ class MouseSource extends EventSource {
|
|||||||
* @param {import("./PointerEventHandler.js").default} dispatcher Event handler.
|
* @param {import("./PointerEventHandler.js").default} dispatcher Event handler.
|
||||||
* @return {Object} The copied event.
|
* @return {Object} The copied event.
|
||||||
*/
|
*/
|
||||||
function prepareEvent(inEvent, dispatcher) {
|
export function prepareEvent(inEvent, dispatcher) {
|
||||||
const e = dispatcher.cloneEvent(inEvent, inEvent);
|
const e = dispatcher.cloneEvent(inEvent, inEvent);
|
||||||
|
|
||||||
// forward mouse preventDefault
|
// forward mouse preventDefault
|
||||||
|
|||||||
@@ -171,6 +171,7 @@ class MsSource extends EventSource {
|
|||||||
* @return {Object} The copied event.
|
* @return {Object} The copied event.
|
||||||
*/
|
*/
|
||||||
prepareEvent_(inEvent) {
|
prepareEvent_(inEvent) {
|
||||||
|
/** @type {MSPointerEvent|Object} */
|
||||||
let e = inEvent;
|
let e = inEvent;
|
||||||
if (typeof inEvent.pointerType === 'number') {
|
if (typeof inEvent.pointerType === 'number') {
|
||||||
e = this.dispatcher.cloneEvent(inEvent, inEvent);
|
e = this.dispatcher.cloneEvent(inEvent, inEvent);
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ import {listen, unlisten} from '../events.js';
|
|||||||
import EventTarget from '../events/Target.js';
|
import EventTarget from '../events/Target.js';
|
||||||
import {POINTER, MSPOINTER, TOUCH} from '../has.js';
|
import {POINTER, MSPOINTER, TOUCH} from '../has.js';
|
||||||
import PointerEventType from '../pointer/EventType.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 MsSource from '../pointer/MsSource.js';
|
||||||
import NativeSource from '../pointer/NativeSource.js';
|
import NativeSource from '../pointer/NativeSource.js';
|
||||||
import PointerEvent from '../pointer/PointerEvent.js';
|
import PointerEvent from '../pointer/PointerEvent.js';
|
||||||
@@ -402,7 +402,7 @@ class PointerEventHandler extends EventTarget {
|
|||||||
*/
|
*/
|
||||||
wrapMouseEvent(eventType, event) {
|
wrapMouseEvent(eventType, event) {
|
||||||
const pointerEvent = this.makeEvent(
|
const pointerEvent = this.makeEvent(
|
||||||
eventType, MouseSource.prepareEvent(event, this), event);
|
eventType, prepareMouseEvent(event, this), event);
|
||||||
return pointerEvent;
|
return pointerEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -300,12 +300,12 @@ class TouchSource extends EventSource {
|
|||||||
if (count >= touchList.length) {
|
if (count >= touchList.length) {
|
||||||
const d = [];
|
const d = [];
|
||||||
for (let i = 0; i < count; ++i) {
|
for (let i = 0; i < count; ++i) {
|
||||||
const key = keys[i];
|
const key = Number(keys[i]);
|
||||||
const value = this.pointerMap[key];
|
const value = this.pointerMap[key];
|
||||||
// Never remove pointerId == 1, which is mouse.
|
// Never remove pointerId == 1, which is mouse.
|
||||||
// Touch identifiers are 2 smaller than their pointerId, which is the
|
// Touch identifiers are 2 smaller than their pointerId, which is the
|
||||||
// index in pointermap.
|
// 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);
|
d.push(value.out);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -348,7 +348,7 @@ class TouchSource extends EventSource {
|
|||||||
this.dispatcher.move(event, browserEvent);
|
this.dispatcher.move(event, browserEvent);
|
||||||
if (outEvent && outTarget !== event.target) {
|
if (outEvent && outTarget !== event.target) {
|
||||||
outEvent.relatedTarget = event.target;
|
outEvent.relatedTarget = event.target;
|
||||||
event.relatedTarget = outTarget;
|
/** @type {Object} */ (event).relatedTarget = outTarget;
|
||||||
// recover from retargeting by shadow
|
// recover from retargeting by shadow
|
||||||
outEvent.target = outTarget;
|
outEvent.target = outTarget;
|
||||||
if (event.target) {
|
if (event.target) {
|
||||||
@@ -356,8 +356,8 @@ class TouchSource extends EventSource {
|
|||||||
this.dispatcher.enterOver(event, browserEvent);
|
this.dispatcher.enterOver(event, browserEvent);
|
||||||
} else {
|
} else {
|
||||||
// clean up case when finger leaves the screen
|
// clean up case when finger leaves the screen
|
||||||
event.target = outTarget;
|
/** @type {Object} */ (event).target = outTarget;
|
||||||
event.relatedTarget = null;
|
/** @type {Object} */ (event).relatedTarget = null;
|
||||||
this.cancelOut_(browserEvent, event);
|
this.cancelOut_(browserEvent, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user