UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.6 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/Collection.js";import{property as r}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import o from"../../LayerList/LayerListViewModel.js";import{isValidSnappingLayer as i}from"./snappingLayerListUtils.js";import{SnappingListItem as p}from"./SnappingListItem.js";let a=class extends o{constructor(){super(...arguments),this.featureSnappingSources=new t}get operationalItemsFlat(){return this.operationalItems.flatten((e=>e.children))}get selectableItems(){return this.operationalItemsFlat.filter((e=>!e.children?.length))}_compileList(){const e=this.view?.map?.layers;if(!e)return;const t=e.filter(i);this._watchLayersListMode(t);const r=this._getViewableLayers(t);r?.length?(this._createNewItems(r),this._removeItems(r),this._sortItems(r)):this._removeAllItems()}_createListItem(e){return new p({layer:e,view:this.view,getFeatureSnappingSources:()=>this.featureSnappingSources})}};e([r()],a.prototype,"featureSnappingSources",void 0),e([r()],a.prototype,"operationalItems",void 0),e([r()],a.prototype,"operationalItemsFlat",null),e([r()],a.prototype,"selectableItems",null),a=e([s("esri.widgets.support.SnappingControls.SnappingLayerListViewModel")],a);export{a as SnappingLayerListViewModel};