UNPKG

@arcgis/map-components

Version:
2 lines 7.13 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */ import d from"./6ZGXP3VD.js";import{a as c}from"./Q52QESBE.js";import b from"./R3NYK6BO.js";import{P as g,S as h,U as y,a as f,b as a}from"./WUJCCZQC.js";import"./3TTFCHAA.js";export default $arcgis.t(([{stripHTML:$},{formatNumber:F,substitute:_},{f:u},w])=>{var b=f`:host{position:relative;flex:1 1 auto}.list-item--hidden{display:none}.feature-observer{bottom:var(--calcite-spacing-xxl);position:relative;text-align:center;z-index:2}.loading-container{display:flex;justify-content:center;padding:var(--calcite-spacing-md) 0;width:100%}.notice-container{margin-bottom:var(--calcite-spacing-xs)}`,A="nested",p=class extends w{constructor(){super(...arguments),this.autoDestroyDisabled=!1,this.displayCount=3,this.useFeatureNextFlowItem=!1,this.flowType="feature-utility-network-association-type"}static{this.properties={autoDestroyDisabled:5,description:1,displayCount:9,endIndex:32,flowItems:0,useFeatureNextFlowItem:5,flowType:1,heading:1,map:0,referenceElement:1,spatialReference:0,timeZone:1,view:0}}static{this.styles=b}get endIndex(){let{currentFeaturePage:e,featuresPerPage:t,maxFeatureCount:s}=this;return Math.min(e*t,s)}async destroy(){await this.manager.destroy()}_featureViewModelMatch(e,t){let s=e.graphic,i=s?.layer,o=null;u(i)&&i.parent?o=i.parent.globalIdField??null:i&&"globalIdField"in i&&(o=i.globalIdField);let r=o?s?.getAttribute(o):null,l=t.graphic,n=l?.layer,d=null;u(n)&&n.parent?d=n.parent.globalIdField??null:n&&"globalIdField"in n&&(d=n.globalIdField);let m=d?l?.getAttribute(d):null;return!!(r&&m&&r===m)}_findFlowItem(e){return this.flowItems?.findIndex(t=>{if(t.flowType!=="feature-association")return!1;let s=t.viewModel;return this._featureViewModelMatch(s,e)})??-1}_formatPercentAlong(e){let{percentAlong:t}=e;return t==null?"":F(t,{style:"percent",maximumFractionDigits:2})}async _handleFeatureClick(e,t,s){let{flowItems:i}=this;if(e){i?.destroyAll();return}if(t<0||!i){await this._selectAssociation(s);return}for(;i.length>t+1;)i.pop()}_isConnectivityAssociation(e){let{associationType:t}=e;return t==="connectivity"||t==="junction-junction-connectivity"||t==="junction-edge-from-connectivity"||t==="junction-edge-midspan-connectivity"||t==="junction-edge-to-connectivity"}_isConnectivityMidspanAssociation(e){return e.associationType==="junction-edge-midspan-connectivity"}_isParentFeature(e){let t=this.flowItems?.getItemAt(0);if(!t)return!1;let s=t.parentFeatureViewModel;return this._featureViewModelMatch(s,e)}async _selectAssociation(e){let{flowItems:t}=this;if(!t)return;let s=this.useFeatureNextFlowItem?h(c(this.parentFeatureViewModel,a`<arcgis-feature-next .autoDestroyDisabled=${this.autoDestroyDisabled} .flowItems=${t} .flowType=${"feature-association"} .graphic=${e.graphic} .map=${this.map} .referenceElement=${this.referenceElement} show-utility-network-content .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature-next>`)):h(c(this.parentFeatureViewModel,a`<arcgis-feature .autoDestroyDisabled=${this.autoDestroyDisabled} .flowItems=${t} .flowType=${"feature-association"} .graphic=${e.graphic} .map=${this.map} .referenceElement=${this.referenceElement} show-utility-network-content .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature>`));t.push(s)}_showAllAssociations(e){let{flowItems:t,description:s}=this;if(!t||!e)return;this.showAllEnabled=!0;let i=e?.title??"";t.push(h(a`<arcgis-feature-utility-network-association-list .autoDestroyDisabled=${this.autoDestroyDisabled} .associationViewModels=${this.associationViewModels} .description=${s} .flowItems=${t} .flowType=${this.flowType} .heading=${i} .messages=${this.messages} .parentFeatureViewModel=${this.parentFeatureViewModel} .referenceElement=${this.referenceElement} .selectedLayer=${e} .showAllEnabled=${this.showAllEnabled} .useFeatureNextFlowItem=${this.useFeatureNextFlowItem}></arcgis-feature-utility-network-association-list>`))}render(){let{associationViewModels:e,state:t}=this,s=this.selectedLayer?.title??this.messages?.noTitle??"";return a`<div class="root">${t==="loading"||t==="querying"?this._renderLoading():a`<calcite-list .displayMode=${A} .filterEnabled=${this.showAllEnabled&&!!this.selectedLayer} .filterLabel=${this.messages?.associationFilterPlaceholder} .filterPlaceholder=${this.messages?.associationFilterPlaceholder} .label=${s}>${this.showAllEnabled&&this.selectedLayer?a`${this._renderFeatureCountWarning()}${this._renderAssociatedFeatureListPage()}${this._renderFeatureObserver()}`:Array.from(e.keys(),i=>this._renderTypeList(i))}</calcite-list>`}</div>`}_renderAssociatedFeature(e){let{featureViewModel:t,title:s}=e,i=this.state==="loading",o=this._findFlowItem(t),r=o<0&&this._isParentFeature(t),l=r||o>=0,n=`associated-feature-${e.association.globalId}`;return a`<calcite-list-item class=${g(i?"list-item--hidden":"")} .description=${$(e.terminalName??"")} .label=${$(s)} @calciteListItemSelect=${async()=>await this._handleFeatureClick(r,o,t)}>${this._isConnectivityAssociation(e.association)?this._renderConnectivityIcon(e.association.associationType,n):null}${this._isConnectivityMidspanAssociation(e.association)?a`<calcite-chip .label=${this._formatPercentAlong(e.association)} scale=s slot=content-end>${this._formatPercentAlong(e.association)}</calcite-chip>`:null}${this._renderChevronIconNode(l)}</calcite-list-item>`}_renderAssociatedFeatureList(e){return e.toArray().map(t=>this._renderAssociatedFeature(t))}_renderAssociatedFeatureListPage(){let e=this.associationViewModels.get(this.selectedLayer).slice(0,this.endIndex);return[...this._renderTooltips(e),...this._renderAssociatedFeatureList(e)]}_renderChevronIconNode(e){return a`<calcite-icon flip-rtl .icon=${e?"move-up":"chevron-right"} scale=s slot=content-end></calcite-icon>`}_renderItemTooltip(e){let{tooltipReferenceMap:t}=this,s=`associated-feature-${e.association.globalId}`;return this._isConnectivityAssociation(e.association)?a`<calcite-tooltip overlay-positioning=fixed .referenceElement=${t.get(s)}>${this.getConnectivityTooltip(e.association.associationType)}</calcite-tooltip>`:null}_renderTypeList(e){let{messages:t}=this,{displayCount:s}=this,i=this.associationViewModels.get(e),o=i.slice(0,s),r=o.length<i.length,l=_(t?.numberRecords??"",{number:i.length.toString()}),n=t?.showAll??"";return c("show-all",a`<calcite-list-item expanded .label=${e.title} .value=${e.id}><calcite-chip .label=${String(i.length)} scale=s slot=content-end>${i.length}</calcite-chip><calcite-list .group=${e.id} .label=${e.title??""}>${[this._renderTooltips(o),this._renderAssociatedFeatureList(o)]}${r?c("show-all-item",a`<calcite-list-item .description=${l} .label=${n} @calciteListItemSelect=${()=>this._showAllAssociations(e)}><calcite-icon icon=list scale=s slot=content-end></calcite-icon></calcite-list-item>`):null}</calcite-list></calcite-list-item>`)}_renderTooltips(e){return e.toArray().map(t=>this._renderItemTooltip(t))}};y("arcgis-feature-utility-network-association-list",p);return p},"applications/Components/stringUtils","intl",b,d)