UNPKG

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