UNPKG

@arcgis/core

Version:

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

3 lines (2 loc) 1.53 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.19/LICENSE.txt */ import{__decorate as t}from"tslib";import s from"../../../../core/Accessor.js";import has from"../../../../core/has.js";import{destroyMaybe as e}from"../../../../core/maybe.js";import r from"../../../../core/ReactiveMap.js";import{watch as o}from"../../../../core/reactiveUtils.js";import{property as i}from"../../../../core/accessorSupport/decorators.js";import{subclass as a}from"../../../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as d}from"../../../../core/support/UpdatingHandles.js";let n=class extends s{constructor(t){super(t),this.debugName="",this._updatingHandles=new d,this._idToUpdatingState=new r}destroy(){this._updatingHandles=e(this._updatingHandles),this._idToUpdatingState.clear()}get updating(){const t=!this.destroyed&&(this._updatingHandles?.updating||Array.from(this._idToUpdatingState.values()).some(t=>t));if(has("esri-2d-log-updating")){const s=Array.from(this._idToUpdatingState.entries()).map(([t,s])=>`-> ${t}: ${s}`).join("\n");console.log(`${this.debugName}: Updating: ${t}\n-> Handles: ${this._updatingHandles.updating}\n${s}`)}return t}addUpdateTracking(t,s){const e=o(()=>s.updating,s=>this._idToUpdatingState.set(t,s),{sync:!0});this.addHandles(e)}addPromise(t){return this._updatingHandles.addPromise(t)}};t([i({constructOnly:!0})],n.prototype,"debugName",void 0),t([i({readOnly:!0})],n.prototype,"updating",null),n=t([a("esri.views.2d.layers.support.UpdateTracking2D")],n);export{n as UpdateTracking2D};