Custom Gis Application with Arcgis Javascript API with modern layouting
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

8 lines
2.2 KiB

// All material copyright Esri, All Rights Reserved, unless otherwise specified.
// See https://js.arcgis.com/4.30/esri/copyright.txt for details.
//>>built
define(["exports","../../../core/clock","../InputHandler","./support"],function(g,h,k,c){class l extends k.InputHandler{constructor(a=c.DefaultParameters.maximumDoubleClickDelay,b=c.DefaultParameters.maximumDoubleClickDistance,d=c.DefaultParameters.maximumDoubleTouchDelay,e=c.DefaultParameters.maximumDoubleTouchDistance,f=h.clock){super(!1);this._maximumDoubleClickDelay=a;this._maximumDoubleClickDistance=b;this._maximumDoubleTouchDelay=d;this._maximumDoubleTouchDistance=e;this._clock=f;this._pointerState=
new Map;this._immediateDoubleClick=this.registerOutgoing("immediate-double-click");this.registerIncoming("pointer-down",this._handlePointerDown.bind(this));this.registerIncoming("pointer-up",this._handlePointerUp.bind(this))}onUninstall(){this._pointerState.forEach(a=>{a.immediateDoubleClick&&a.immediateDoubleClick.timeoutHandle.remove()});super.onUninstall()}_handlePointerDown(a){a=a.data;const b=c.getPointerId(a);this._pointerState.has(b)||(this._pointerState.set(b,{downButton:a.native.button,x:a.x,
y:a.y,immediateDoubleClick:null}),this.startCapturingPointer(a.native))}_handlePointerUp(a){const b=a.data;var d=c.getPointerId(b);if((d=this._pointerState.get(d))&&d.downButton===b.native.button){const e=d.immediateDoubleClick,f="touch"===a.data.native.pointerType?this._maximumDoubleTouchDistance:this._maximumDoubleClickDistance;e?(e.timeoutHandle.remove(),c.manhattanDistance(e,a.data)>f?this._startImmediateDoubleClick(a,d):(this._immediateDoubleClick.emit(a.data,void 0,e.modifiers),this._removeState(b))):
c.manhattanDistance(d,a.data)>f?this._removeState(b):this._startImmediateDoubleClick(a,d)}}_startImmediateDoubleClick(a,b){b.immediateDoubleClick={x:a.data.x,y:a.data.y,modifiers:a.modifiers,timeoutHandle:this._clock.setTimeout(()=>this._removeState(a.data),"touch"===a.data.native.pointerType?this._maximumDoubleTouchDelay:this._maximumDoubleClickDelay)}}_removeState(a){const b=c.getPointerId(a);this._pointerState.delete(b);this.stopCapturingPointer(a.native);this.refreshHasPendingInputs()}}g.ImmediateDoubleClick=
l;Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});