/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import{a as h}from"./QRJ7G7C4.js";import{M as r,N as c,O as u,P as l,U as d,b as a}from"./7H4DKXI2.js";export default $arcgis.t(([{createReactiveMap:v},{watch:m},{substitute:F}])=>{var o=class extends u{constructor(){super(...arguments),this._associationFeaturesIntersectionObserver=new IntersectionObserver(([t])=>{t?.isIntersecting&&this._increaseFeaturePage()},{root:window.document}),this._associationFeaturesIntersectionObserverNode=r(),this._currentFeaturePage=1,this._increaseFeaturePage=()=>{let{state:t,showAllEnabled:e,associatedFeatureCount:i,featuresPerPage:s,currentFeaturePage:n}=this;t==="ready"&&e&&i>=s*n&&this.currentFeaturePage++},this._isFeatureCountNoticeOpen=!0,this.associationViewModels=new Map,this.featuresPerPage=50,this.maxFeatureCount=1e3,this.showAllEnabled=!1,this.state="ready",this.tooltipReferenceMap=v()}static{this.properties={associatedFeatureCount:32,associationViewModels:0,currentFeaturePage:9,featuresPerPage:9,maxFeatureCount:9,messages:0,parentFeatureViewModel:0,selectedLayer:0,showAllEnabled:5,state:1,tooltipReferenceMap:0}}get associatedFeatureCount(){let t=this.associationViewModels,e=this.selectedLayer?t.get(this.selectedLayer):null;return e?e.length:0}get currentFeaturePage(){return this._currentFeaturePage}set currentFeaturePage(t){let{featuresPerPage:e,associatedFeatureCount:i}=this,s=Math.ceil(i/e)||1,n=Math.max(Math.min(t,s),1);this._currentFeaturePage=n}loaded(){this.manager.onLifecycle(()=>[m(()=>[this.state,this.showAllEnabled,this._associationFeaturesIntersectionObserverNode],()=>{this._handleAssociationFeaturesObserverChange()},{initial:!0})])}getConnectivityTooltip(t){let{messages:e}=this;if(!e)return"";switch(t){case"connectivity":case"junction-junction-connectivity":return e.associationsJunctionJunction;case"junction-edge-from-connectivity":return e.associationsJunctionEdgeFrom;case"junction-edge-midspan-connectivity":return e.associationsJunctionEdgeMidspan;case"junction-edge-to-connectivity":return e.associationsJunctionEdgeTo;default:return""}}_handleAssociationFeaturesObserverChange(){this._unobserveAssociationFeaturesObserver();let{state:t,showAllEnabled:e}=this;this._associationFeaturesIntersectionObserverNode.value&&t==="ready"&&e&&this._associationFeaturesIntersectionObserver.observe(this._associationFeaturesIntersectionObserverNode.value)}_unobserveAssociationFeaturesObserver(){this._associationFeaturesIntersectionObserverNode.value&&this._associationFeaturesIntersectionObserver.unobserve(this._associationFeaturesIntersectionObserverNode.value)}_renderConnectivityIcon(t,e){let{tooltipReferenceMap:i}=this,s;switch(t){case"junction-edge-from-connectivity":s="connection-end-left";break;case"junction-edge-to-connectivity":s="connection-end-right";break;case"junction-edge-midspan-connectivity":s="connection-middle";break;case"connectivity":case"junction-junction-connectivity":default:s="connection-to-connection"}return a`<calcite-icon .icon=${s} @pointerover=${n=>{i.set(e,n.currentTarget)}} scale=s slot=content-start></calcite-icon>`}_renderFeatureCountWarning(){let{associatedFeatureCount:t,maxFeatureCount:e,messages:i}=this,s=F(i?.associationsLimitNoticeMessage??"",{number:e}),n=t>e,g=i?.associationsLimitNoticeTitle??"";return n?a`<calcite-notice class=${l(this._isFeatureCountNoticeOpen?"notice-container":"")} closable icon=information kind=info open scale=s width=full @calciteNoticeBeforeOpen=${()=>this._isFeatureCountNoticeOpen=!0} @calciteNoticeClose=${()=>this._isFeatureCountNoticeOpen=!1}><div slot=title>${g}</div><div slot=message>${s}</div></calcite-notice>`:null}_renderFeatureObserver(){return a`<div class="feature-observer" ${c(this._associationFeaturesIntersectionObserverNode)}></div>`}_renderLoading(){return h("loading-container",a`<div class="loading-container">${this._renderLoadingIcon()}</div>`)}_renderLoadingIcon(){let t=this.messages?.loading??"";return a`<calcite-loader inline .label=${t}></calcite-loader>`}};d("arcgis-utility-network-association-list",o);return o},"applications/Components/featureUtils","core/reactiveUtils","intl")