1 | "use strict";
|
2 | var __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 | };
|
13 | Object.defineProperty(exports, "__esModule", { value: true });
|
14 | exports.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 | };
|
58 | exports.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 | };
|
71 | exports.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 |
|
\ | No newline at end of file |