@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 994 B
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import{createTask as o}from"../../core/asyncUtils.js";import{removeMaybe as t}from"../../core/maybe.js";import{onAbort as i}from"../../core/promiseUtils.js";import{whenOnce as e,watch as n,syncAndInitial as r}from"../../core/reactiveUtils.js";function l(n,r){n.interactive=!0;const{tool:l,view:a}=n;a.activeTool=l;let c=i(r,(()=>{a.activeTool===l&&(a.activeTool=null)}));return o((async o=>{await e((()=>null==l||!l.active),o),c=t(c)}),r)}function a(o,t){return n((()=>o.interactive),(()=>c(o,t)),r)}function c(o,t){o.interactive?s(o,t):v(o)}function s(o,t){v(o);const{view:i,analysis:e}=o,n=new t({view:i,analysis:e,analysisViewData:o});return o.tool=n,i.tools.add(n),n}function v(o){const{view:t,tool:i}=o;null!=i&&(t.tools.remove(i),o.tool=null)}export{l as activateAnalysisViewTool,a as connectAnalysisViewToTool,v as removeAnalysisViewTool};