@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.91 kB
JavaScript
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import"../../core/Error.js";import{HandleOwnerMixin as s}from"../../core/HandleOwner.js";import has from"../../core/has.js";import"../../core/Logger.js";import{removeMaybe as i}from"../../core/maybe.js";import{throttle as o}from"../../core/throttle.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import{CollisionEngine as p}from"./engine/webgl/collisions/CollisionEngine.js";const l=32;let d=class extends(s(t)){constructor(e){super(e),this._applyVisibilityPassThrottled=o(this._applyVisibilityPass,l,this),this.lastUpdateId=-1,this.updateRequested=!1,this.view=null}initialize(){this.collisionEngine=new p}destroy(){this.collisionEngine=null,this._applyVisibilityPassThrottled=i(this._applyVisibilityPassThrottled)}get updating(){return has("esri-2d-log-updating")&&console.log(`Updating LabelManager ${this.updateRequested}:\n-> updateRequested: ${this.updateRequested}`),this.updateRequested}update(e){this._applyVisibilityPassThrottled(e)}viewChange(){this.requestUpdate()}requestUpdate(){this.updateRequested||(this.updateRequested=!0,this.view?.requestUpdate())}processUpdate(e){this._set("updateParameters",e),this.updateRequested&&(this.updateRequested=!1,this.update(e))}_applyVisibilityPass(e){const t=this.view;if(t)try{const s=t.featuresTilingScheme.getClosestInfoForScale(e.state.scale).level;this.collisionEngine.run(t.allLayerViews.items,e,s)}catch(s){}}};e([r()],d.prototype,"updateRequested",void 0),e([r({readOnly:!0})],d.prototype,"updateParameters",void 0),e([r()],d.prototype,"updating",null),e([r()],d.prototype,"view",void 0),d=e([a("esri.views.2d.layers.labels.LabelManager")],d);const u=d;export{u as default};