UNPKG

2.98 kBJavaScriptView Raw
1"use strict";
2var __assign = (this && this.__assign) || function () {
3 __assign = Object.assign || function(t) {
4 for (var s, i = 1, n = arguments.length; i < n; i++) {
5 s = arguments[i];
6 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7 t[p] = s[p];
8 }
9 return t;
10 };
11 return __assign.apply(this, arguments);
12};
13Object.defineProperty(exports, "__esModule", { value: true });
14exports.events = {
15 onResize: 'resize',
16 onDblClick: 'dblclick',
17 onClick: 'click',
18 onMouseMove: 'mousemove',
19 onMouseOut: 'mouseout',
20 onMoveStart: 'movestart',
21 onMove: 'move',
22 onMoveEnd: 'moveend',
23 onMouseUp: 'mouseup',
24 onMouseDown: 'mousedown',
25 onDragStart: 'dragstart',
26 onDrag: 'drag',
27 onDragEnd: 'dragend',
28 onZoomStart: 'zoomstart',
29 onZoom: 'zoom',
30 onZoomEnd: 'zoomend',
31 onPitch: 'pitch',
32 onPitchStart: 'pitchstart',
33 onPitchEnd: 'pitchend',
34 onWebGlContextLost: 'webglcontextlost',
35 onWebGlContextRestored: 'webglcontextrestored',
36 onRemove: 'remove',
37 onContextMenu: 'contextmenu',
38 onRender: 'render',
39 onError: 'error',
40 onSourceData: 'sourcedata',
41 onDataLoading: 'dataloading',
42 onStyleDataLoading: 'styledataloading',
43 onStyleImageMissing: 'styleimagemissing',
44 onTouchCancel: 'touchcancel',
45 onData: 'data',
46 onSourceDataLoading: 'sourcedataloading',
47 onTouchMove: 'touchmove',
48 onTouchEnd: 'touchend',
49 onTouchStart: 'touchstart',
50 onStyleData: 'styledata',
51 onBoxZoomStart: 'boxzoomstart',
52 onBoxZoomEnd: 'boxzoomend',
53 onBoxZoomCancel: 'boxzoomcancel',
54 onRotateStart: 'rotatestart',
55 onRotate: 'rotate',
56 onRotateEnd: 'rotateend'
57};
58exports.listenEvents = function (partialEvents, props, map) {
59 return Object.keys(partialEvents).reduce(function (listeners, event) {
60 var propEvent = props[event];
61 if (propEvent) {
62 var listener = function (evt) {
63 propEvent(map, evt);
64 };
65 map.on(partialEvents[event], listener);
66 listeners[event] = listener;
67 }
68 return listeners;
69 }, {});
70};
71exports.updateEvents = function (listeners, currentProps, map) {
72 var toListenOff = Object.keys(exports.events).filter(function (eventKey) {
73 return listeners[eventKey] && typeof currentProps[eventKey] !== 'function';
74 });
75 toListenOff.forEach(function (key) {
76 map.off(exports.events[key], listeners[key]);
77 delete listeners[key];
78 });
79 var toListenOn = Object.keys(exports.events)
80 .filter(function (key) { return !listeners[key] && typeof currentProps[key] === 'function'; })
81 .reduce(function (acc, next) { return ((acc[next] = exports.events[next]), acc); }, {});
82 var newListeners = exports.listenEvents(toListenOn, currentProps, map);
83 return __assign({}, listeners, newListeners);
84};
85//# sourceMappingURL=map-events.js.map
\No newline at end of file