@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.87 kB
JavaScript
import{_ as e}from"../../../../chunks/tslib.es6.js";import{AsyncUpdateMixin as r}from"../../../../core/AsyncUpdate.js";import{HandleOwner as s}from"../../../../core/HandleOwner.js";import t from"../../../../core/Logger.js";import{unwrapOr as i}from"../../../../core/maybe.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import"../../../../core/arrayUtils.js";import{subclass as l}from"../../../../core/accessorSupport/decorators/subclass.js";import{fixFields as n,collectLabelingFields as a,collectFilterFields as d}from"../../../../layers/support/fieldUtils.js";const p="esri.views.3d.layers.support.SceneLayerViewRequiredFields";let c=class extends(r(s)){get layer(){return this.layerView.layer}get requiredFields(){const{layerView:{layer:{fieldsIndex:e},definitionExpressionFields:r},rendererFields:s,labelingFields:t,viewFilterFields:o}=this;return n(e,[...i(r,[]),...i(s,[]),...i(t,[]),...i(o,[])])}constructor(e){super(e)}initialize(){this.handles.add([this.autoUpdateAsync("rendererFields",(async()=>{const{fieldsIndex:e,renderer:r}=this.layer;return r?y((s=>r.collectRequiredFields(s,e))):null})),this.autoUpdateAsync("labelingFields",(async()=>{const{layer:e}=this;return e.labelsVisible?y((r=>a(r,e))):null})),this.autoUpdateAsync("viewFilterFields",(()=>{const{layer:e,filter:r}=this.layerView;return y((s=>d(s,e,r)))}))])}};async function y(e){const r=new Set;try{return await e(r),Array.from(r).sort()}catch(s){return t.getLogger(p).error(s),null}}e([o()],c.prototype,"layerView",void 0),e([o()],c.prototype,"layer",null),e([o()],c.prototype,"requiredFields",null),e([o()],c.prototype,"rendererFields",void 0),e([o()],c.prototype,"labelingFields",void 0),e([o()],c.prototype,"viewFilterFields",void 0),c=e([l(p)],c);export{c as SceneLayerViewRequiredFields};