ol 6.14.2-dev.1655302169749 → 6.14.2-dev.1656055086611
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MapBrowserEvent.d.ts +7 -2
- package/MapBrowserEvent.d.ts.map +1 -1
- package/MapBrowserEvent.js +7 -2
- package/MapBrowserEvent.js.map +1 -1
- package/MapBrowserEventHandler.d.ts +4 -5
- package/MapBrowserEventHandler.d.ts.map +1 -1
- package/MapBrowserEventHandler.js +30 -17
- package/MapBrowserEventHandler.js.map +1 -1
- package/interaction/Pointer.d.ts +0 -5
- package/interaction/Pointer.d.ts.map +1 -1
- package/interaction/Pointer.js +2 -41
- package/interaction/Pointer.js.map +1 -1
- package/package.json +1 -1
- package/src/MapBrowserEvent.js +15 -2
- package/src/MapBrowserEventHandler.js +45 -17
- package/src/interaction/Pointer.js +2 -44
- package/util.js +1 -1
package/MapBrowserEvent.d.ts
CHANGED
|
@@ -11,9 +11,10 @@ declare class MapBrowserEvent<EVENT extends UIEvent> extends MapEvent {
|
|
|
11
11
|
* @param {import("./PluggableMap.js").default} map Map.
|
|
12
12
|
* @param {EVENT} originalEvent Original event.
|
|
13
13
|
* @param {boolean} [opt_dragging] Is the map currently being dragged?
|
|
14
|
-
* @param {
|
|
14
|
+
* @param {import("./PluggableMap.js").FrameState} [opt_frameState] Frame state.
|
|
15
|
+
* @param {Array<PointerEvent>} [opt_activePointers] Active pointers.
|
|
15
16
|
*/
|
|
16
|
-
constructor(type: string, map: import("./PluggableMap.js").default, originalEvent: EVENT, opt_dragging?: boolean | undefined, opt_frameState?: import("./PluggableMap.js").FrameState |
|
|
17
|
+
constructor(type: string, map: import("./PluggableMap.js").default, originalEvent: EVENT, opt_dragging?: boolean | undefined, opt_frameState?: import("./PluggableMap.js").FrameState | undefined, opt_activePointers?: PointerEvent[] | undefined);
|
|
17
18
|
/**
|
|
18
19
|
* The original browser event.
|
|
19
20
|
* @const
|
|
@@ -39,6 +40,10 @@ declare class MapBrowserEvent<EVENT extends UIEvent> extends MapEvent {
|
|
|
39
40
|
* @api
|
|
40
41
|
*/
|
|
41
42
|
dragging: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* @type {Array<PointerEvent>|undefined}
|
|
45
|
+
*/
|
|
46
|
+
activePointers: Array<PointerEvent> | undefined;
|
|
42
47
|
set pixel(arg: import("./pixel.js").Pixel);
|
|
43
48
|
/**
|
|
44
49
|
* The map pixel relative to the viewport corresponding to the original event.
|
package/MapBrowserEvent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapBrowserEvent.d.ts","sourceRoot":"","sources":["src/MapBrowserEvent.js"],"names":[],"mappings":";AAKA;;;;;GAKG;AACH;IACE
|
|
1
|
+
{"version":3,"file":"MapBrowserEvent.d.ts","sourceRoot":"","sources":["src/MapBrowserEvent.js"],"names":[],"mappings":";AAKA;;;;;GAKG;AACH;IACE;;;;;;;OAOG;IACH,kBAPW,MAAM,OACN,OAAO,mBAAmB,EAAE,OAAO,iBACnC,KAAK,4JAgDf;IAjCC;;;;;OAKG;IACH,eAHU,KAAK,CAGmB;IAElC;;;OAGG;IACH,QAFW,OAAO,YAAY,EAAE,KAAK,QAEnB;IAElB;;;OAGG;IACH,aAFW,OAAO,iBAAiB,EAAE,UAAU,QAExB;IAEvB;;;;;;OAMG;IACH,UAHU,OAAO,CAGgD;IAEjE;;OAEG;IACH,gBAFU,MAAM,YAAY,CAAC,GAAC,SAAS,CAEC;IAc1C,2CAEC;IAbD;;;;OAIG;IACH,wCAKC;IAiBD,0DAEC;IAdD;;;;;OAKG;IACH,uDAKC;CA4BF"}
|
package/MapBrowserEvent.js
CHANGED
|
@@ -30,9 +30,10 @@ var MapBrowserEvent = /** @class */ (function (_super) {
|
|
|
30
30
|
* @param {import("./PluggableMap.js").default} map Map.
|
|
31
31
|
* @param {EVENT} originalEvent Original event.
|
|
32
32
|
* @param {boolean} [opt_dragging] Is the map currently being dragged?
|
|
33
|
-
* @param {
|
|
33
|
+
* @param {import("./PluggableMap.js").FrameState} [opt_frameState] Frame state.
|
|
34
|
+
* @param {Array<PointerEvent>} [opt_activePointers] Active pointers.
|
|
34
35
|
*/
|
|
35
|
-
function MapBrowserEvent(type, map, originalEvent, opt_dragging, opt_frameState) {
|
|
36
|
+
function MapBrowserEvent(type, map, originalEvent, opt_dragging, opt_frameState, opt_activePointers) {
|
|
36
37
|
var _this = _super.call(this, type, map, opt_frameState) || this;
|
|
37
38
|
/**
|
|
38
39
|
* The original browser event.
|
|
@@ -59,6 +60,10 @@ var MapBrowserEvent = /** @class */ (function (_super) {
|
|
|
59
60
|
* @api
|
|
60
61
|
*/
|
|
61
62
|
_this.dragging = opt_dragging !== undefined ? opt_dragging : false;
|
|
63
|
+
/**
|
|
64
|
+
* @type {Array<PointerEvent>|undefined}
|
|
65
|
+
*/
|
|
66
|
+
_this.activePointers = opt_activePointers;
|
|
62
67
|
return _this;
|
|
63
68
|
}
|
|
64
69
|
Object.defineProperty(MapBrowserEvent.prototype, "pixel", {
|
package/MapBrowserEvent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapBrowserEvent.js","sourceRoot":"","sources":["src/MapBrowserEvent.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;GAEG;AACH,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC;;;;;GAKG;AACH;IAA8B,mCAAQ;IACpC
|
|
1
|
+
{"version":3,"file":"MapBrowserEvent.js","sourceRoot":"","sources":["src/MapBrowserEvent.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;GAEG;AACH,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC;;;;;GAKG;AACH;IAA8B,mCAAQ;IACpC;;;;;;;OAOG;IACH,yBACE,IAAI,EACJ,GAAG,EACH,aAAa,EACb,YAAY,EACZ,cAAc,EACd,kBAAkB;QANpB,YAQE,kBAAM,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,SAmCjC;QAjCC;;;;;WAKG;QACH,KAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC;;;WAGG;QACH,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB;;;WAGG;QACH,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB;;;;;;WAMG;QACH,KAAI,CAAC,QAAQ,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;QAElE;;WAEG;QACH,KAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC;;IAC3C,CAAC;IAOD,sBAAI,kCAAK;QALT;;;;WAIG;aACH;YACE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAC1D;YACD,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aACD,UAAU,KAAK;YACb,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;;;OAHA;IAWD,sBAAI,uCAAU;QANd;;;;;WAKG;aACH;YACE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChE;YACD,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;aACD,UAAe,UAAU;YACvB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAChC,CAAC;;;OAHA;IAKD;;;;OAIG;IACH,wCAAc,GAAd;QACE,iBAAM,cAAc,WAAE,CAAC;QACvB,IAAI,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAAE;YAC1C,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,cAAc,EAAE,CAAC;SAC9D;IACH,CAAC;IAED;;;;OAIG;IACH,yCAAe,GAAf;QACE,iBAAM,eAAe,WAAE,CAAC;QACxB,IAAI,iBAAiB,IAAI,IAAI,CAAC,aAAa,EAAE;YAC3C,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,eAAe,EAAE,CAAC;SAC/D;IACH,CAAC;IACH,sBAAC;AAAD,CAAC,AA5GD,CAA8B,QAAQ,GA4GrC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -44,12 +44,12 @@ declare class MapBrowserEventHandler extends Target {
|
|
|
44
44
|
*/
|
|
45
45
|
private down_;
|
|
46
46
|
/**
|
|
47
|
-
* @type {
|
|
47
|
+
* @type {Array<PointerEvent>}
|
|
48
48
|
* @private
|
|
49
49
|
*/
|
|
50
50
|
private activePointers_;
|
|
51
51
|
/**
|
|
52
|
-
* @type {!Object<number,
|
|
52
|
+
* @type {!Object<number, Event>}
|
|
53
53
|
* @private
|
|
54
54
|
*/
|
|
55
55
|
private trackedTouches_;
|
|
@@ -113,13 +113,12 @@ declare class MapBrowserEventHandler extends Target {
|
|
|
113
113
|
*/
|
|
114
114
|
private handlePointerMove_;
|
|
115
115
|
/**
|
|
116
|
-
* Wrap and relay a
|
|
117
|
-
* string for the MapBrowserEvent matches the PointerEvent type.
|
|
116
|
+
* Wrap and relay a pointermove event.
|
|
118
117
|
* @param {PointerEvent} pointerEvent Pointer
|
|
119
118
|
* event.
|
|
120
119
|
* @private
|
|
121
120
|
*/
|
|
122
|
-
private
|
|
121
|
+
private relayMoveEvent_;
|
|
123
122
|
/**
|
|
124
123
|
* Flexible handling of a `touch-action: none` css equivalent: because calling
|
|
125
124
|
* `preventDefault()` on a `pointermove` event does not stop native page scrolling
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapBrowserEventHandler.d.ts","sourceRoot":"","sources":["src/MapBrowserEventHandler.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"MapBrowserEventHandler.d.ts","sourceRoot":"","sources":["src/MapBrowserEventHandler.js"],"names":[],"mappings":";AAcA;IACE;;;OAGG;IACH,iBAHW,OAAO,mBAAmB,EAAE,OAAO,sCAyG7C;IAnGC;;;;OAIG;IACH,aAAe;IAEf;;;OAGG;IACH,wBAAoB;IAEpB;;;OAGG;IACH,gBAFU,OAAO,CAEU;IAE3B;;;OAGG;IACH,kBAAsB;IAEtB;;;OAGG;IACH,0BAA2B;IAE3B;;;OAGG;IACH,uBAAqE;IAErE;;;;;OAKG;IACH,cAAiB;IAIjB;;;OAGG;IACH,wBAAyB;IAEzB;;;OAGG;IACH,wBAAyB;IAEzB,sBAAuB;IAEvB;;;OAGG;IACH,gCAKC;IAED;;;OAGG;IACH,kCAA8B;IAE9B;;;OAGG;IACH,4BAKC;IAED;;OAEG;IACH,8BAA6D;IAS/D;;;;OAIG;IACH,sBAiCC;IAED;;;;;;OAMG;IACH,8BA0BC;IAED;;;;OAIG;IACH,yBAiCC;IAED;;;;;OAKG;IACH,6BAEC;IAED;;;;OAIG;IACH,2BA6DC;IAED;;;;OAIG;IACH,2BAiBC;IAED;;;;;OAKG;IACH,wBAWC;IAED;;;;;;;OAOG;IACH,yBAUC;IAED;;;;;OAKG;IACH,kBAOC;CA0BF"}
|
|
@@ -23,6 +23,7 @@ import PointerEventType from './pointer/EventType.js';
|
|
|
23
23
|
import Target from './events/Target.js';
|
|
24
24
|
import { PASSIVE_EVENT_LISTENERS } from './has.js';
|
|
25
25
|
import { VOID } from './functions.js';
|
|
26
|
+
import { getValues } from './obj.js';
|
|
26
27
|
import { listen, unlistenByKey } from './events.js';
|
|
27
28
|
var MapBrowserEventHandler = /** @class */ (function (_super) {
|
|
28
29
|
__extends(MapBrowserEventHandler, _super);
|
|
@@ -72,12 +73,12 @@ var MapBrowserEventHandler = /** @class */ (function (_super) {
|
|
|
72
73
|
_this.down_ = null;
|
|
73
74
|
var element = _this.map_.getViewport();
|
|
74
75
|
/**
|
|
75
|
-
* @type {
|
|
76
|
+
* @type {Array<PointerEvent>}
|
|
76
77
|
* @private
|
|
77
78
|
*/
|
|
78
|
-
_this.activePointers_ =
|
|
79
|
+
_this.activePointers_ = [];
|
|
79
80
|
/**
|
|
80
|
-
* @type {!Object<number,
|
|
81
|
+
* @type {!Object<number, Event>}
|
|
81
82
|
* @private
|
|
82
83
|
*/
|
|
83
84
|
_this.trackedTouches_ = {};
|
|
@@ -96,7 +97,7 @@ var MapBrowserEventHandler = /** @class */ (function (_super) {
|
|
|
96
97
|
* @type {?import("./events.js").EventsKey}
|
|
97
98
|
* @private
|
|
98
99
|
*/
|
|
99
|
-
_this.relayedListenerKey_ = listen(element, PointerEventType.POINTERMOVE, _this.
|
|
100
|
+
_this.relayedListenerKey_ = listen(element, PointerEventType.POINTERMOVE, _this.relayMoveEvent_, _this);
|
|
100
101
|
/**
|
|
101
102
|
* @private
|
|
102
103
|
*/
|
|
@@ -139,14 +140,26 @@ var MapBrowserEventHandler = /** @class */ (function (_super) {
|
|
|
139
140
|
*/
|
|
140
141
|
MapBrowserEventHandler.prototype.updateActivePointers_ = function (pointerEvent) {
|
|
141
142
|
var event = pointerEvent;
|
|
143
|
+
var id = event.pointerId;
|
|
142
144
|
if (event.type == MapBrowserEventType.POINTERUP ||
|
|
143
145
|
event.type == MapBrowserEventType.POINTERCANCEL) {
|
|
144
|
-
delete this.trackedTouches_[
|
|
146
|
+
delete this.trackedTouches_[id];
|
|
147
|
+
for (var pointerId in this.trackedTouches_) {
|
|
148
|
+
if (this.trackedTouches_[pointerId].target !== event.target) {
|
|
149
|
+
// Some platforms assign a new pointerId when the target changes.
|
|
150
|
+
// If this happens, delete one tracked pointer. If there is more
|
|
151
|
+
// than one tracked pointer for the old target, it will be cleared
|
|
152
|
+
// by subsequent POINTERUP events from other pointers.
|
|
153
|
+
delete this.trackedTouches_[pointerId];
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
145
157
|
}
|
|
146
|
-
else if (event.type == MapBrowserEventType.POINTERDOWN
|
|
147
|
-
|
|
158
|
+
else if (event.type == MapBrowserEventType.POINTERDOWN ||
|
|
159
|
+
event.type == MapBrowserEventType.POINTERMOVE) {
|
|
160
|
+
this.trackedTouches_[id] = event;
|
|
148
161
|
}
|
|
149
|
-
this.activePointers_ =
|
|
162
|
+
this.activePointers_ = getValues(this.trackedTouches_);
|
|
150
163
|
};
|
|
151
164
|
/**
|
|
152
165
|
* @param {PointerEvent} pointerEvent Pointer
|
|
@@ -155,7 +168,7 @@ var MapBrowserEventHandler = /** @class */ (function (_super) {
|
|
|
155
168
|
*/
|
|
156
169
|
MapBrowserEventHandler.prototype.handlePointerUp_ = function (pointerEvent) {
|
|
157
170
|
this.updateActivePointers_(pointerEvent);
|
|
158
|
-
var newEvent = new MapBrowserEvent(MapBrowserEventType.POINTERUP, this.map_, pointerEvent);
|
|
171
|
+
var newEvent = new MapBrowserEvent(MapBrowserEventType.POINTERUP, this.map_, pointerEvent, undefined, undefined, this.activePointers_);
|
|
159
172
|
this.dispatchEvent(newEvent);
|
|
160
173
|
// We emulate click events on left mouse button click, touch contact, and pen
|
|
161
174
|
// contact. isMouseActionButton returns true in these cases (evt.button is set
|
|
@@ -169,7 +182,7 @@ var MapBrowserEventHandler = /** @class */ (function (_super) {
|
|
|
169
182
|
this.isMouseActionButton_(pointerEvent)) {
|
|
170
183
|
this.emulateClick_(this.down_);
|
|
171
184
|
}
|
|
172
|
-
if (this.activePointers_ === 0) {
|
|
185
|
+
if (this.activePointers_.length === 0) {
|
|
173
186
|
this.dragListenerKeys_.forEach(unlistenByKey);
|
|
174
187
|
this.dragListenerKeys_.length = 0;
|
|
175
188
|
this.dragging_ = false;
|
|
@@ -191,9 +204,9 @@ var MapBrowserEventHandler = /** @class */ (function (_super) {
|
|
|
191
204
|
* @private
|
|
192
205
|
*/
|
|
193
206
|
MapBrowserEventHandler.prototype.handlePointerDown_ = function (pointerEvent) {
|
|
194
|
-
this.emulateClicks_ = this.activePointers_ === 0;
|
|
207
|
+
this.emulateClicks_ = this.activePointers_.length === 0;
|
|
195
208
|
this.updateActivePointers_(pointerEvent);
|
|
196
|
-
var newEvent = new MapBrowserEvent(MapBrowserEventType.POINTERDOWN, this.map_, pointerEvent);
|
|
209
|
+
var newEvent = new MapBrowserEvent(MapBrowserEventType.POINTERDOWN, this.map_, pointerEvent, undefined, undefined, this.activePointers_);
|
|
197
210
|
this.dispatchEvent(newEvent);
|
|
198
211
|
// Store a copy of the down event
|
|
199
212
|
this.down_ = /** @type {PointerEvent} */ ({});
|
|
@@ -233,22 +246,22 @@ var MapBrowserEventHandler = /** @class */ (function (_super) {
|
|
|
233
246
|
// To avoid a 'false' touchmove event to be dispatched, we test if the pointer
|
|
234
247
|
// moved a significant distance.
|
|
235
248
|
if (this.isMoving_(pointerEvent)) {
|
|
249
|
+
this.updateActivePointers_(pointerEvent);
|
|
236
250
|
this.dragging_ = true;
|
|
237
|
-
var newEvent = new MapBrowserEvent(MapBrowserEventType.POINTERDRAG, this.map_, pointerEvent, this.dragging_);
|
|
251
|
+
var newEvent = new MapBrowserEvent(MapBrowserEventType.POINTERDRAG, this.map_, pointerEvent, this.dragging_, undefined, this.activePointers_);
|
|
238
252
|
this.dispatchEvent(newEvent);
|
|
239
253
|
}
|
|
240
254
|
};
|
|
241
255
|
/**
|
|
242
|
-
* Wrap and relay a
|
|
243
|
-
* string for the MapBrowserEvent matches the PointerEvent type.
|
|
256
|
+
* Wrap and relay a pointermove event.
|
|
244
257
|
* @param {PointerEvent} pointerEvent Pointer
|
|
245
258
|
* event.
|
|
246
259
|
* @private
|
|
247
260
|
*/
|
|
248
|
-
MapBrowserEventHandler.prototype.
|
|
261
|
+
MapBrowserEventHandler.prototype.relayMoveEvent_ = function (pointerEvent) {
|
|
249
262
|
this.originalPointerMoveEvent_ = pointerEvent;
|
|
250
263
|
var dragging = !!(this.down_ && this.isMoving_(pointerEvent));
|
|
251
|
-
this.dispatchEvent(new MapBrowserEvent(
|
|
264
|
+
this.dispatchEvent(new MapBrowserEvent(MapBrowserEventType.POINTERMOVE, this.map_, pointerEvent, dragging));
|
|
252
265
|
};
|
|
253
266
|
/**
|
|
254
267
|
* Flexible handling of a `touch-action: none` css equivalent: because calling
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapBrowserEventHandler.js","sourceRoot":"","sources":["src/MapBrowserEventHandler.js"],"names":[],"mappings":"AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAC,uBAAuB,EAAC,MAAM,UAAU,CAAC;AACjD,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAElD;IAAqC,0CAAM;IACzC;;;OAGG;IACH,gCAAY,GAAG,EAAE,aAAa;QAA9B,YACE,kBAAM,GAAG,CAAC,SAqGX;QAnGC;;;;WAIG;QACH,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAEhB;;;WAGG;QACH,KAAI,CAAC,eAAe,CAAC;QAErB;;;WAGG;QACH,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B;;;WAGG;QACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB;;;WAGG;QACH,KAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE5B;;;WAGG;QACH,KAAI,CAAC,cAAc,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAEtE;;;;;WAKG;QACH,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAM,OAAO,GAAG,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAExC;;;WAGG;QACH,KAAI,CAAC,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"MapBrowserEventHandler.js","sourceRoot":"","sources":["src/MapBrowserEventHandler.js"],"names":[],"mappings":"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"}
|
package/interaction/Pointer.d.ts
CHANGED
|
@@ -121,11 +121,6 @@ declare class PointerInteraction extends Interaction {
|
|
|
121
121
|
* @protected
|
|
122
122
|
*/
|
|
123
123
|
protected handlingDownUpSequence: boolean;
|
|
124
|
-
/**
|
|
125
|
-
* @type {!Object<string, PointerEvent>}
|
|
126
|
-
* @private
|
|
127
|
-
*/
|
|
128
|
-
private trackedPointers_;
|
|
129
124
|
/**
|
|
130
125
|
* @type {Array<PointerEvent>}
|
|
131
126
|
* @protected
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pointer.d.ts","sourceRoot":"","sources":["../src/interaction/Pointer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Pointer.d.ts","sourceRoot":"","sources":["../src/interaction/Pointer.js"],"names":[],"mappings":"AA8LA;;;GAGG;AACH,wCAHW,MAAM,YAAY,CAAC,GAClB,OAAO,aAAa,EAAE,KAAK,CAWtC;;;;;;;+EAnM+D,OAAO;;;;;+EAGP,IAAI;;;;;;;2EAGJ,OAAO;;;;;;;;+EAKP,IAAI;;;;;6EAMJ,OAAO;;;;;uBAGhD,OAAO,KAAE,OAAO;;AAtBvC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;;;GAUG;AACH;IACE;;OAEG;IACH,+CAsCC;IAYD;;;;;OAKG;IACH,0FAHY,OAAO,CAKlB;IAED;;;;OAIG;IACH,+FAAmC;IAuCnC;;;;OAIG;IACH,+FAAmC;IAEnC;;;;;OAKG;IACH,wFAHY,OAAO,CAKlB;IAED;;;;;OAKG;IACH,kBAHW,OAAO,GACN,OAAO,CAIlB;IAtGC;;;OAGG;IACH,kCAHU,OAAO,CAGkB;IAEnC;;;OAGG;IACH,0BAHU,MAAM,YAAY,CAAC,CAGL;IAG1B;;;;;OAKG;IACH,mBAHY,MAAM,CAKjB;IAmFD;;;OAGG;IACH,+BAIC;CACF"}
|
package/interaction/Pointer.js
CHANGED
|
@@ -18,7 +18,6 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
18
18
|
*/
|
|
19
19
|
import Interaction from './Interaction.js';
|
|
20
20
|
import MapBrowserEventType from '../MapBrowserEventType.js';
|
|
21
|
-
import { getValues } from '../obj.js';
|
|
22
21
|
/**
|
|
23
22
|
* @typedef {Object} Options
|
|
24
23
|
* @property {function(import("../MapBrowserEvent.js").default):boolean} [handleDownEvent]
|
|
@@ -86,11 +85,6 @@ var PointerInteraction = /** @class */ (function (_super) {
|
|
|
86
85
|
* @protected
|
|
87
86
|
*/
|
|
88
87
|
_this.handlingDownUpSequence = false;
|
|
89
|
-
/**
|
|
90
|
-
* @type {!Object<string, PointerEvent>}
|
|
91
|
-
* @private
|
|
92
|
-
*/
|
|
93
|
-
_this.trackedPointers_ = {};
|
|
94
88
|
/**
|
|
95
89
|
* @type {Array<PointerEvent>}
|
|
96
90
|
* @protected
|
|
@@ -189,30 +183,8 @@ var PointerInteraction = /** @class */ (function (_super) {
|
|
|
189
183
|
* @private
|
|
190
184
|
*/
|
|
191
185
|
PointerInteraction.prototype.updateTrackedPointers_ = function (mapBrowserEvent) {
|
|
192
|
-
if (
|
|
193
|
-
|
|
194
|
-
var id = event_1.pointerId.toString();
|
|
195
|
-
if (mapBrowserEvent.type == MapBrowserEventType.POINTERUP) {
|
|
196
|
-
delete this.trackedPointers_[id];
|
|
197
|
-
for (var pointerId in this.trackedPointers_) {
|
|
198
|
-
if (this.trackedPointers_[pointerId].target !== event_1.target) {
|
|
199
|
-
// Some platforms assign a new pointerId when the target changes.
|
|
200
|
-
// If this happens, delete one tracked pointer. If there is more
|
|
201
|
-
// than one tracked pointer for the old target, it will be cleared
|
|
202
|
-
// by subsequent POINTERUP events from other pointers.
|
|
203
|
-
delete this.trackedPointers_[pointerId];
|
|
204
|
-
break;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
else if (mapBrowserEvent.type == MapBrowserEventType.POINTERDOWN) {
|
|
209
|
-
this.trackedPointers_[id] = event_1;
|
|
210
|
-
}
|
|
211
|
-
else if (id in this.trackedPointers_) {
|
|
212
|
-
// update only when there was a pointerdown event for this pointer
|
|
213
|
-
this.trackedPointers_[id] = event_1;
|
|
214
|
-
}
|
|
215
|
-
this.targetPointers = getValues(this.trackedPointers_);
|
|
186
|
+
if (mapBrowserEvent.activePointers) {
|
|
187
|
+
this.targetPointers = mapBrowserEvent.activePointers;
|
|
216
188
|
}
|
|
217
189
|
};
|
|
218
190
|
return PointerInteraction;
|
|
@@ -231,16 +203,5 @@ export function centroid(pointerEvents) {
|
|
|
231
203
|
}
|
|
232
204
|
return [clientX / length, clientY / length];
|
|
233
205
|
}
|
|
234
|
-
/**
|
|
235
|
-
* @param {import("../MapBrowserEvent.js").default} mapBrowserEvent Event.
|
|
236
|
-
* @return {boolean} Whether the event is a pointerdown, pointerdrag
|
|
237
|
-
* or pointerup event.
|
|
238
|
-
*/
|
|
239
|
-
function isPointerDraggingEvent(mapBrowserEvent) {
|
|
240
|
-
var type = mapBrowserEvent.type;
|
|
241
|
-
return (type === MapBrowserEventType.POINTERDOWN ||
|
|
242
|
-
type === MapBrowserEventType.POINTERDRAG ||
|
|
243
|
-
type === MapBrowserEventType.POINTERUP);
|
|
244
|
-
}
|
|
245
206
|
export default PointerInteraction;
|
|
246
207
|
//# sourceMappingURL=Pointer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pointer.js","sourceRoot":"","sources":["../src/interaction/Pointer.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;GAEG;AACH,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"Pointer.js","sourceRoot":"","sources":["../src/interaction/Pointer.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/MapBrowserEvent.js
CHANGED
|
@@ -15,9 +15,17 @@ class MapBrowserEvent extends MapEvent {
|
|
|
15
15
|
* @param {import("./PluggableMap.js").default} map Map.
|
|
16
16
|
* @param {EVENT} originalEvent Original event.
|
|
17
17
|
* @param {boolean} [opt_dragging] Is the map currently being dragged?
|
|
18
|
-
* @param {
|
|
18
|
+
* @param {import("./PluggableMap.js").FrameState} [opt_frameState] Frame state.
|
|
19
|
+
* @param {Array<PointerEvent>} [opt_activePointers] Active pointers.
|
|
19
20
|
*/
|
|
20
|
-
constructor(
|
|
21
|
+
constructor(
|
|
22
|
+
type,
|
|
23
|
+
map,
|
|
24
|
+
originalEvent,
|
|
25
|
+
opt_dragging,
|
|
26
|
+
opt_frameState,
|
|
27
|
+
opt_activePointers
|
|
28
|
+
) {
|
|
21
29
|
super(type, map, opt_frameState);
|
|
22
30
|
|
|
23
31
|
/**
|
|
@@ -48,6 +56,11 @@ class MapBrowserEvent extends MapEvent {
|
|
|
48
56
|
* @api
|
|
49
57
|
*/
|
|
50
58
|
this.dragging = opt_dragging !== undefined ? opt_dragging : false;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* @type {Array<PointerEvent>|undefined}
|
|
62
|
+
*/
|
|
63
|
+
this.activePointers = opt_activePointers;
|
|
51
64
|
}
|
|
52
65
|
|
|
53
66
|
/**
|
|
@@ -9,6 +9,7 @@ import PointerEventType from './pointer/EventType.js';
|
|
|
9
9
|
import Target from './events/Target.js';
|
|
10
10
|
import {PASSIVE_EVENT_LISTENERS} from './has.js';
|
|
11
11
|
import {VOID} from './functions.js';
|
|
12
|
+
import {getValues} from './obj.js';
|
|
12
13
|
import {listen, unlistenByKey} from './events.js';
|
|
13
14
|
|
|
14
15
|
class MapBrowserEventHandler extends Target {
|
|
@@ -67,13 +68,13 @@ class MapBrowserEventHandler extends Target {
|
|
|
67
68
|
const element = this.map_.getViewport();
|
|
68
69
|
|
|
69
70
|
/**
|
|
70
|
-
* @type {
|
|
71
|
+
* @type {Array<PointerEvent>}
|
|
71
72
|
* @private
|
|
72
73
|
*/
|
|
73
|
-
this.activePointers_ =
|
|
74
|
+
this.activePointers_ = [];
|
|
74
75
|
|
|
75
76
|
/**
|
|
76
|
-
* @type {!Object<number,
|
|
77
|
+
* @type {!Object<number, Event>}
|
|
77
78
|
* @private
|
|
78
79
|
*/
|
|
79
80
|
this.trackedTouches_ = {};
|
|
@@ -104,7 +105,7 @@ class MapBrowserEventHandler extends Target {
|
|
|
104
105
|
this.relayedListenerKey_ = listen(
|
|
105
106
|
element,
|
|
106
107
|
PointerEventType.POINTERMOVE,
|
|
107
|
-
this.
|
|
108
|
+
this.relayMoveEvent_,
|
|
108
109
|
this
|
|
109
110
|
);
|
|
110
111
|
|
|
@@ -169,16 +170,30 @@ class MapBrowserEventHandler extends Target {
|
|
|
169
170
|
*/
|
|
170
171
|
updateActivePointers_(pointerEvent) {
|
|
171
172
|
const event = pointerEvent;
|
|
173
|
+
const id = event.pointerId;
|
|
172
174
|
|
|
173
175
|
if (
|
|
174
176
|
event.type == MapBrowserEventType.POINTERUP ||
|
|
175
177
|
event.type == MapBrowserEventType.POINTERCANCEL
|
|
176
178
|
) {
|
|
177
|
-
delete this.trackedTouches_[
|
|
178
|
-
|
|
179
|
-
|
|
179
|
+
delete this.trackedTouches_[id];
|
|
180
|
+
for (const pointerId in this.trackedTouches_) {
|
|
181
|
+
if (this.trackedTouches_[pointerId].target !== event.target) {
|
|
182
|
+
// Some platforms assign a new pointerId when the target changes.
|
|
183
|
+
// If this happens, delete one tracked pointer. If there is more
|
|
184
|
+
// than one tracked pointer for the old target, it will be cleared
|
|
185
|
+
// by subsequent POINTERUP events from other pointers.
|
|
186
|
+
delete this.trackedTouches_[pointerId];
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
} else if (
|
|
191
|
+
event.type == MapBrowserEventType.POINTERDOWN ||
|
|
192
|
+
event.type == MapBrowserEventType.POINTERMOVE
|
|
193
|
+
) {
|
|
194
|
+
this.trackedTouches_[id] = event;
|
|
180
195
|
}
|
|
181
|
-
this.activePointers_ =
|
|
196
|
+
this.activePointers_ = getValues(this.trackedTouches_);
|
|
182
197
|
}
|
|
183
198
|
|
|
184
199
|
/**
|
|
@@ -191,7 +206,10 @@ class MapBrowserEventHandler extends Target {
|
|
|
191
206
|
const newEvent = new MapBrowserEvent(
|
|
192
207
|
MapBrowserEventType.POINTERUP,
|
|
193
208
|
this.map_,
|
|
194
|
-
pointerEvent
|
|
209
|
+
pointerEvent,
|
|
210
|
+
undefined,
|
|
211
|
+
undefined,
|
|
212
|
+
this.activePointers_
|
|
195
213
|
);
|
|
196
214
|
this.dispatchEvent(newEvent);
|
|
197
215
|
|
|
@@ -210,7 +228,7 @@ class MapBrowserEventHandler extends Target {
|
|
|
210
228
|
this.emulateClick_(this.down_);
|
|
211
229
|
}
|
|
212
230
|
|
|
213
|
-
if (this.activePointers_ === 0) {
|
|
231
|
+
if (this.activePointers_.length === 0) {
|
|
214
232
|
this.dragListenerKeys_.forEach(unlistenByKey);
|
|
215
233
|
this.dragListenerKeys_.length = 0;
|
|
216
234
|
this.dragging_ = false;
|
|
@@ -234,12 +252,15 @@ class MapBrowserEventHandler extends Target {
|
|
|
234
252
|
* @private
|
|
235
253
|
*/
|
|
236
254
|
handlePointerDown_(pointerEvent) {
|
|
237
|
-
this.emulateClicks_ = this.activePointers_ === 0;
|
|
255
|
+
this.emulateClicks_ = this.activePointers_.length === 0;
|
|
238
256
|
this.updateActivePointers_(pointerEvent);
|
|
239
257
|
const newEvent = new MapBrowserEvent(
|
|
240
258
|
MapBrowserEventType.POINTERDOWN,
|
|
241
259
|
this.map_,
|
|
242
|
-
pointerEvent
|
|
260
|
+
pointerEvent,
|
|
261
|
+
undefined,
|
|
262
|
+
undefined,
|
|
263
|
+
this.activePointers_
|
|
243
264
|
);
|
|
244
265
|
this.dispatchEvent(newEvent);
|
|
245
266
|
|
|
@@ -303,29 +324,36 @@ class MapBrowserEventHandler extends Target {
|
|
|
303
324
|
// To avoid a 'false' touchmove event to be dispatched, we test if the pointer
|
|
304
325
|
// moved a significant distance.
|
|
305
326
|
if (this.isMoving_(pointerEvent)) {
|
|
327
|
+
this.updateActivePointers_(pointerEvent);
|
|
306
328
|
this.dragging_ = true;
|
|
307
329
|
const newEvent = new MapBrowserEvent(
|
|
308
330
|
MapBrowserEventType.POINTERDRAG,
|
|
309
331
|
this.map_,
|
|
310
332
|
pointerEvent,
|
|
311
|
-
this.dragging_
|
|
333
|
+
this.dragging_,
|
|
334
|
+
undefined,
|
|
335
|
+
this.activePointers_
|
|
312
336
|
);
|
|
313
337
|
this.dispatchEvent(newEvent);
|
|
314
338
|
}
|
|
315
339
|
}
|
|
316
340
|
|
|
317
341
|
/**
|
|
318
|
-
* Wrap and relay a
|
|
319
|
-
* string for the MapBrowserEvent matches the PointerEvent type.
|
|
342
|
+
* Wrap and relay a pointermove event.
|
|
320
343
|
* @param {PointerEvent} pointerEvent Pointer
|
|
321
344
|
* event.
|
|
322
345
|
* @private
|
|
323
346
|
*/
|
|
324
|
-
|
|
347
|
+
relayMoveEvent_(pointerEvent) {
|
|
325
348
|
this.originalPointerMoveEvent_ = pointerEvent;
|
|
326
349
|
const dragging = !!(this.down_ && this.isMoving_(pointerEvent));
|
|
327
350
|
this.dispatchEvent(
|
|
328
|
-
new MapBrowserEvent(
|
|
351
|
+
new MapBrowserEvent(
|
|
352
|
+
MapBrowserEventType.POINTERMOVE,
|
|
353
|
+
this.map_,
|
|
354
|
+
pointerEvent,
|
|
355
|
+
dragging
|
|
356
|
+
)
|
|
329
357
|
);
|
|
330
358
|
}
|
|
331
359
|
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import Interaction from './Interaction.js';
|
|
5
5
|
import MapBrowserEventType from '../MapBrowserEventType.js';
|
|
6
|
-
import {getValues} from '../obj.js';
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* @typedef {Object} Options
|
|
@@ -80,12 +79,6 @@ class PointerInteraction extends Interaction {
|
|
|
80
79
|
*/
|
|
81
80
|
this.handlingDownUpSequence = false;
|
|
82
81
|
|
|
83
|
-
/**
|
|
84
|
-
* @type {!Object<string, PointerEvent>}
|
|
85
|
-
* @private
|
|
86
|
-
*/
|
|
87
|
-
this.trackedPointers_ = {};
|
|
88
|
-
|
|
89
82
|
/**
|
|
90
83
|
* @type {Array<PointerEvent>}
|
|
91
84
|
* @protected
|
|
@@ -189,29 +182,8 @@ class PointerInteraction extends Interaction {
|
|
|
189
182
|
* @private
|
|
190
183
|
*/
|
|
191
184
|
updateTrackedPointers_(mapBrowserEvent) {
|
|
192
|
-
if (
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
const id = event.pointerId.toString();
|
|
196
|
-
if (mapBrowserEvent.type == MapBrowserEventType.POINTERUP) {
|
|
197
|
-
delete this.trackedPointers_[id];
|
|
198
|
-
for (const pointerId in this.trackedPointers_) {
|
|
199
|
-
if (this.trackedPointers_[pointerId].target !== event.target) {
|
|
200
|
-
// Some platforms assign a new pointerId when the target changes.
|
|
201
|
-
// If this happens, delete one tracked pointer. If there is more
|
|
202
|
-
// than one tracked pointer for the old target, it will be cleared
|
|
203
|
-
// by subsequent POINTERUP events from other pointers.
|
|
204
|
-
delete this.trackedPointers_[pointerId];
|
|
205
|
-
break;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
} else if (mapBrowserEvent.type == MapBrowserEventType.POINTERDOWN) {
|
|
209
|
-
this.trackedPointers_[id] = event;
|
|
210
|
-
} else if (id in this.trackedPointers_) {
|
|
211
|
-
// update only when there was a pointerdown event for this pointer
|
|
212
|
-
this.trackedPointers_[id] = event;
|
|
213
|
-
}
|
|
214
|
-
this.targetPointers = getValues(this.trackedPointers_);
|
|
185
|
+
if (mapBrowserEvent.activePointers) {
|
|
186
|
+
this.targetPointers = mapBrowserEvent.activePointers;
|
|
215
187
|
}
|
|
216
188
|
}
|
|
217
189
|
}
|
|
@@ -231,18 +203,4 @@ export function centroid(pointerEvents) {
|
|
|
231
203
|
return [clientX / length, clientY / length];
|
|
232
204
|
}
|
|
233
205
|
|
|
234
|
-
/**
|
|
235
|
-
* @param {import("../MapBrowserEvent.js").default} mapBrowserEvent Event.
|
|
236
|
-
* @return {boolean} Whether the event is a pointerdown, pointerdrag
|
|
237
|
-
* or pointerup event.
|
|
238
|
-
*/
|
|
239
|
-
function isPointerDraggingEvent(mapBrowserEvent) {
|
|
240
|
-
const type = mapBrowserEvent.type;
|
|
241
|
-
return (
|
|
242
|
-
type === MapBrowserEventType.POINTERDOWN ||
|
|
243
|
-
type === MapBrowserEventType.POINTERDRAG ||
|
|
244
|
-
type === MapBrowserEventType.POINTERUP
|
|
245
|
-
);
|
|
246
|
-
}
|
|
247
|
-
|
|
248
206
|
export default PointerInteraction;
|
package/util.js
CHANGED