src/pyams_gis/resources/js/TouchEvents.min.js
changeset 0 c73bb834ccbe
equal deleted inserted replaced
-1:000000000000 0:c73bb834ccbe
       
     1 L.Map.mergeOptions({touchExtend:true});L.Map.TouchExtend=L.Handler.extend({initialize:function(a){this._map=a;this._container=a._container;this._pane=a._panes.overlayPane},addHooks:function(){L.DomEvent.on(this._container,"touchstart",this._onTouchStart,this);L.DomEvent.on(this._container,"touchend",this._onTouchEnd,this);L.DomEvent.on(this._container,"touchmove",this._onTouchMove,this);if(this._detectIE()){L.DomEvent.on(this._container,"MSPointerDown",this._onTouchStart,this);L.DomEvent.on(this._container,"MSPointerUp",this._onTouchEnd,this);L.DomEvent.on(this._container,"MSPointerMove",this._onTouchMove,this);L.DomEvent.on(this._container,"MSPointerCancel",this._onTouchCancel,this)}else{L.DomEvent.on(this._container,"touchcancel",this._onTouchCancel,this);L.DomEvent.on(this._container,"touchleave",this._onTouchLeave,this)}},removeHooks:function(){L.DomEvent.off(this._container,"touchstart",this._onTouchStart);L.DomEvent.off(this._container,"touchend",this._onTouchEnd);L.DomEvent.off(this._container,"touchmove",this._onTouchMove);if(this._detectIE()){L.DomEvent.off(this._container,"MSPointerDowm",this._onTouchStart);L.DomEvent.off(this._container,"MSPointerUp",this._onTouchEnd);L.DomEvent.off(this._container,"MSPointerMove",this._onTouchMove);L.DomEvent.off(this._container,"MSPointerCancel",this._onTouchCancel)}else{L.DomEvent.off(this._container,"touchcancel",this._onTouchCancel);L.DomEvent.off(this._container,"touchleave",this._onTouchLeave)}},_touchEvent:function(f,d){var a={};if(typeof f.touches!=="undefined"){if(!f.touches.length){return}a=f.touches[0]}else{if(f.pointerType==="touch"){a=f;if(!this._filterClick(f)){return}}else{return}}var c=this._map.mouseEventToContainerPoint(a),b=this._map.mouseEventToLayerPoint(a),g=this._map.layerPointToLatLng(b);this._map.fire(d,{latlng:g,layerPoint:b,containerPoint:c,pageX:a.pageX,pageY:a.pageY,originalEvent:f})},_filterClick:function(c){var b=(c.timeStamp||c.originalEvent.timeStamp),a=L.DomEvent._lastClick&&(b-L.DomEvent._lastClick);if((a&&a>100&&a<500)||(c.target._simulatedClick&&!c._simulated)){L.DomEvent.stop(c);return false}L.DomEvent._lastClick=b;return true},_onTouchStart:function(b){if(!this._map._loaded){return}var a="touchstart";this._touchEvent(b,a)},_onTouchEnd:function(b){if(!this._map._loaded){return}var a="touchend";this._touchEvent(b,a)},_onTouchCancel:function(b){if(!this._map._loaded){return}var a="touchcancel";if(this._detectIE()){a="pointercancel"}this._touchEvent(b,a)},_onTouchLeave:function(b){if(!this._map._loaded){return}var a="touchleave";this._touchEvent(b,a)},_onTouchMove:function(b){if(!this._map._loaded){return}var a="touchmove";this._touchEvent(b,a)},_detectIE:function(){var c=window.navigator.userAgent;var b=c.indexOf("MSIE ");if(b>0){return parseInt(c.substring(b+5,c.indexOf(".",b)),10)}var a=c.indexOf("Trident/");if(a>0){var e=c.indexOf("rv:");return parseInt(c.substring(e+3,c.indexOf(".",e)),10)}var d=c.indexOf("Edge/");if(d>0){return parseInt(c.substring(d+5,c.indexOf(".",d)),10)}return false}});L.Map.addInitHook("addHandler","touchExtend",L.Map.TouchExtend);L.Marker.Touch=L.Marker.extend({_initInteraction:function(){if(!this.addInteractiveTarget){return this._initInteractionLegacy()}return L.Marker.prototype._initInteraction.apply(this)},_initInteractionLegacy:function(){if(!this.options.clickable){return}var c=this._icon,b=["dblclick","mousedown","mouseover","mouseout","contextmenu","touchstart","touchend","touchmove"];if(this._detectIE){b.concat(["MSPointerDown","MSPointerUp","MSPointerMove","MSPointerCancel"])}else{b.concat(["touchcancel"])}L.DomUtil.addClass(c,"leaflet-clickable");L.DomEvent.on(c,"click",this._onMouseClick,this);L.DomEvent.on(c,"keypress",this._onKeyPress,this);for(var a=0;a<b.length;a++){L.DomEvent.on(c,b[a],this._fireMouseEvent,this)}if(L.Handler.MarkerDrag){this.dragging=new L.Handler.MarkerDrag(this);if(this.options.draggable){this.dragging.enable()}}},_detectIE:function(){var c=window.navigator.userAgent;var b=c.indexOf("MSIE ");if(b>0){return parseInt(c.substring(b+5,c.indexOf(".",b)),10)}var a=c.indexOf("Trident/");if(a>0){var e=c.indexOf("rv:");return parseInt(c.substring(e+3,c.indexOf(".",e)),10)}var d=c.indexOf("Edge/");if(d>0){return parseInt(c.substring(d+5,c.indexOf(".",d)),10)}return false}});