UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 900 B
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{dragManipulatedObject as t,resetManipulatedObject as e}from"../../../../interactive/dragEventPipeline.js";function n(n,a,r){const c=(t,e)=>{a({action:t,object:n,dxScreen:e.screenDeltaX,dyScreen:e.screenDeltaY})};return r(((a,r,s)=>(r.next((t=>("start"===t.action&&c("start",t),t))).next(t(n)).next((t=>{switch(t.action){case"start":case"update":(t.translationX||t.translationY||t.translationZ)&&c("update",t);break;case"end":c("end",t)}return t})),{steps:r,cancel:s=s.next(e(n)).next((t=>(c("end",{screenDeltaX:0,screenDeltaY:0}),t)))})))}function a(t){if(null==t?.axis)return 1;const{mapStart:e,mapEnd:n,axis:a}=t,r=[n.x-e.x,n.y-e.y];return r[0]*a[0]+r[1]*a[1]>0?1:-1}export{a as axisConstrainedDragSign,n as createManipulatedMoveDragPipeline};