UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.62 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import"../../core/Error.js";import has from"../../core/has.js";import"../../core/Logger.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/RandomLCG.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{CollisionEngine as i}from"./engine/webgl/collisions/CollisionEngine.js";const r=32;let a=class extends t{constructor(e){super(e),this._lastUpdate=0,this.collisionEngine=new i,this.lastUpdateId=-1,this.updateRequested=!1,this.view=null}get updating(){return has("esri-2d-log-updating")&&console.log(`Updating LabelManager ${this.updateRequested}:\n-> updateRequested: ${this.updateRequested}`),this.updateRequested}update(e){const t=performance.now();t-this._lastUpdate>=r?(this._lastUpdate=t,this.doUpdate(e)):this.requestUpdate()}viewChange(){this.requestUpdate()}requestUpdate(){this.updateRequested||(this.updateRequested=!0,this.view?.requestUpdate())}processUpdate(e){this.updateRequested&&(this.updateRequested=!1,this.update(e))}doUpdate(e){const t=this.view;if(t)try{const s=e.state.scale,o=t.featuresTilingScheme.getClosestInfoForScale(s).level;this.collisionEngine.run(t.allLayerViews.items,e,s,o)}catch(s){}}};e([s()],a.prototype,"updateRequested",void 0),e([s()],a.prototype,"updating",null),e([s()],a.prototype,"view",void 0),a=e([o("esri.views.2d.LabelManager")],a);export{a as LabelManager};