UNPKG

@arcgis/map-components

Version:
2 lines • 13.2 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */ import b from"./R3NYK6BO.js";import a from"./HFRXDFTO.js";import"./PC4PAQXQ.js";import{a as w}from"./HZFVK34O.js";import"./AKBXFBDL.js";import"./LMBRORN7.js";import"./PBSJQPB2.js";import{M as _,N as g,O as f,U as v,a as p,b as r,p as o,r as h,s as y,x as d}from"./WUJCCZQC.js";import"./3TTFCHAA.js";export default $arcgis.t(([E,,,{a:$},{b:b,e:R}])=>{var T=p`:host{min-height:var(--arcgis-internal-panel-height-sm, 240px);height:100%}arcgis-features{height:100%}calcite-table{--calcite-table-border-color: none}calcite-table-row{--calcite-table-row-border-color: var(--calcite-color-border-3)}.white-panel-background{--calcite-panel-background-color: var(--calcite-color-foreground-1)}.aggregated-geometry-container{display:flex;justify-content:space-between;margin:0 var(--calcite-spacing-md) var(--calcite-spacing-md) var(--calcite-spacing-md)}#elements-list-item{border:solid 1px var(--calcite-color-border-3);border-radius:var(--calcite-corner-radius-sm);margin:0 var(--calcite-spacing-sm)}.no-selectable-results{margin:0 var(--calcite-spacing-md);color:var(--calcite-color-text-3);font-size:var(--calcite-font-size)}.results-heading{display:flex;flex-direction:column;margin:var(--calcite-spacing-md);gap:var(--calcite-spacing-xs)}.results-heading .results-heading-title{font-weight:var(--calcite-font-weight-medium);font-size:var(--calcite-font-size);color:var(--calcite-color-text-1)}.results-heading .results-heading-subtitle{font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-3)}.functions-heading{margin:var(--calcite-spacing-md) var(--calcite-spacing-md) var(--calcite-spacing-xxs) var(--calcite-spacing-md);font-weight:var(--calcite-font-weight-medium);font-size:var(--calcite-font-size);color:var(--calcite-color-text-1)}.no-results-landing{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;margin:var(--calcite-spacing-sm) var(--calcite-spacing-xl) var(--calcite-spacing-xl) var(--calcite-spacing-xl);gap:var(--calcite-spacing-md)}.no-results-landing calcite-icon{margin-bottom:var(--calcite-spacing-sm);--calcite-icon-color: var(--calcite-color-text-3)}.no-results-landing .no-results-heading{font-size:var(--calcite-font-size-2)}.no-results-landing .no-results-description{color:var(--calcite-color-text-3)}`,u={dirtyAreasDiscovered:-2147208511,noValidControllers:-2147208935,pathNotFound:-2147208444},m=class extends f{constructor(){super(...arguments),this._defaultPopupTemplateEnabled=!0,this._messages=w({blocking:!0}),this._elementsWithoutLayer=[],this._popoverRef=_(),this._layerIdToFeatures=new Map,this._layerIdToLayer=new Map,this._subtypeCodeToFeatures=new Map,this._sourceIdToElements=new Map,this._unLayers=[],this._queryFeaturesOnLayer=async([e,t])=>{let a=this.utilityNetwork?.getLayerIdBySourceId(e),s=this._getLayerByLayerId(a),i=this._getElementsUniqueByGlobalId(t);if(a==null||!s){this._elementsWithoutLayer.push(...i);return}let n=s.createQuery();n.gdbVersion=this.utilityNetwork?.gdbVersion,n.objectIds=i.map(c=>c.objectId),n.outFields=["*"];let{features:l}=await b(s,n);l.forEach(c=>{let C=c.layer;c.getEffectivePopupTemplate(this._defaultPopupTemplateEnabled)||(c.popupTemplate=C.createPopupTemplate())}),R(s)?l.forEach(c=>this._addOrCreateMapValue(this._subtypeCodeToFeatures,c.layer.subtypeCode,c)):this._layerIdToFeatures.set(a,l)},this._aggregateGeometryRefChange=e=>{e&&(this._aggregatedGeometryComponentElement=e)},this._featuresRefChange=e=>{e&&(this._featuresComponentElement=e)},this._aggregatedGeometryDisabled=!1,this.aggregatedGeometryGraphicsColor=new E([255,255,0,.6]),this.hideActionBar=!1,this.hideFeatureResults=!1,this.featuresFromSelectedLayer=[],this.isElementsSelected=!1,this.layers=[],this.state="ready",this.traceResultFeatures=[],this.autoDestroyDisabled=!1,this.arcgisAggregatedGeometryGraphicsColorChange=d(),this.arcgisHideGraphicsChange=d(),this.arcgisSelectedLayerChange=d(),this.arcgisSelectedResultTypeChange=d(),this.arcgisTraceResultFeaturesReady=d()}static{this.properties={_aggregatedGeometryDisabled:16,_featuresComponentElement:16,aggregatedGeometryGraphicsColor:0,hideActionBar:5,hideFeatureResults:5,featuresFromSelectedLayer:0,isElementsSelected:5,layers:0,messageOverrides:0,numResults:32,referenceElement:1,selectedLayer:0,state:1,traceConfigTitle:1,traceError:0,traceResult:0,traceResultFeatures:0,utilityNetwork:0,view:0,autoDestroyDisabled:5}}static{this.styles=T}get numResults(){return this.traceResultFeatures.length+this._elementsWithoutLayer.length}clearAggregatedGeometryGraphics(){this._aggregatedGeometryComponentElement?.destroy()}async destroy(){this._layerIdToFeatures.clear(),this._subtypeCodeToFeatures.clear(),this._sourceIdToElements.clear(),this._aggregatedGeometryComponentElement?.destroy(),this._featuresComponentElement?.destroy(),await this.manager.destroy()}load(){this.traceResult&&(this._setSourceIdToElements(),this._loadDependencies().then(()=>this._queryTraceResultsFeatures()).finally(()=>{this.arcgisTraceResultFeaturesReady.emit(),this.state="ready"}))}willUpdate(e){e.has("isElementsSelected")&&this.arcgisSelectedResultTypeChange.emit(),e.has("selectedLayer")&&this.arcgisSelectedLayerChange.emit(),e.has("traceResult")&&(this.isElementsSelected=!1,this.traceResult||(this.traceResultFeatures=[],this._elementsWithoutLayer=[]))}loaded(){this.traceResult&&(this.utilityNetwork||o("warn",this,h("utilityNetwork")),this.layers.length||o("warn",this,y("layers")),this.view||o("warn",this,h("view")))}disconnectedCallback(){super.disconnectedCallback(),this._layerIdToLayer.clear()}_addOrCreateMapValue(e,t,a){let s=e.get(t);s==null?e.set(t,[a]):s.push(a)}_getLayerByLayerId(e){if(e==null)return;let{_layerIdToLayer:t,_unLayers:a}=this;if(t.get(e))return t.get(e);let s=a.find(i=>"layerId"in i&&i.layerId===e);return s&&t.set(e,s),s}_getElementsUniqueByGlobalId(e){return Array.from(new Map(e.map(t=>[t.globalId,t])).values())}_handleHideGraphicsChange(e){e.stopPropagation();let t=e.detail;this.arcgisHideGraphicsChange.emit(t),this._aggregatedGeometryDisabled=t,t&&this._popoverRef.value?.open&&(this._popoverRef.value.open=!1)}async _loadDependencies(){let{layers:e,utilityNetwork:t}=this;if(!t)return;try{t.loaded||(this.state="loading",await t.load())}catch(s){$(s,this,"Error while loading the selected utility network")}this._unLayers=e.filter(s=>t.isUtilityLayer(s));let a=this._unLayers.filter(s=>!s.loaded).map(s=>s.load());a.length>0&&(this.state="loading",(await Promise.allSettled(a)).forEach(s=>{s.status==="rejected"&&o("error",this,`Failed to load layer. Reason: ${s.reason}`)}))}async _queryTraceResultsFeatures(){let e=Array.from(this._sourceIdToElements.entries());if(!e.length)return;this.state="loading";let t=e.map(this._queryFeaturesOnLayer);(await Promise.allSettled(t)).forEach((i,n)=>{if(i.status==="rejected"){let[l]=e[n];o("error",this,`Failed to query features for source ${l}. Reason: ${i.reason}`)}});let a=Array.from(this._layerIdToFeatures.values()),s=Array.from(this._subtypeCodeToFeatures.values());this.traceResultFeatures=a.concat(s).flat()}_setSourceIdToElements(){this.traceResult.elements?.forEach(e=>this._addOrCreateMapValue(this._sourceIdToElements,e.networkSourceId,e))}render(){let{traceError:e,traceResult:t}=this;if(e)return this._renderErrorLanding(e);if(!t)return this._renderNoTraceLanding();let{elements:a,globalFunctionResults:s,aggregatedGeometry:i}=t,n=!a.length&&!s.length&&!i,l=a.length>0&&!s.length&&!i;return n?this._renderNoResultsLanding():this.state==="loading"?this._renderGettingResults():this.hideFeatureResults&&l?this._renderFeaturesAreHiddenLanding():this.isElementsSelected||l?r`<arcgis-features-next .autoDestroyDisabled=${this.autoDestroyDisabled} .defaultPopupTemplateEnabled=${this._defaultPopupTemplateEnabled} .features=${this.traceResultFeatures} .hideActionBar=${this.hideActionBar} .hideCloseButton=${l} hide-select-feature initial-display-mode=list @arcgisClose=${()=>this.isElementsSelected=!1} open .referenceElement=${this.referenceElement} .view=${this.view} ${g(this._featuresRefChange)}></arcgis-features-next>`:this._renderLanding(t)}_renderGettingResults(){return r`<calcite-panel class="white-panel-background"><calcite-loader .label=${this._messages.gettingResults} .text=${this._messages.gettingResults}></calcite-loader></calcite-panel>`}_renderLanding(e){let{elements:t,globalFunctionResults:a,aggregatedGeometry:s}=e;return r`<calcite-panel class="white-panel-background">${this._renderTraceResultsHeading()}${s!=null?this._renderAggregatedGeometry(s):null}${s!=null&&!t.length?this._renderNoSelectableResults():null}${t.length>0?this.hideFeatureResults?this._renderFeaturesAreHidden():this._renderElementsResults():null}${a.length>0?this._renderFunctionsResults(a):null}</calcite-panel>`}_renderAggregatedGeometry(e){return r`<div class="aggregated-geometry-container"><arcgis-utility-network-aggregated-geometry .graphicsColor=${this.aggregatedGeometryGraphicsColor} .geometry=${e} .view=${this.view} @arcgisHideGraphicsChange=${this._handleHideGraphicsChange} auto-destroy-disabled ${g(this._aggregateGeometryRefChange)}></arcgis-utility-network-aggregated-geometry><calcite-swatch id=geometry-color-swatch .label=${this._messages.labels.aggregatedGeometryGraphicsColor} .color=${this.aggregatedGeometryGraphicsColor.toCss()} .disabled=${this._aggregatedGeometryDisabled}></calcite-swatch><calcite-popover .heading=${this._messages.headings.setColor} .label=${this._messages.headings.setColor} reference-element=geometry-color-swatch closable ${g(this._popoverRef)}><calcite-color-picker alpha-channel channels-disabled clearable hex-disabled saved-disabled .value=${this.aggregatedGeometryGraphicsColor} @calciteColorPickerChange=${t=>{let a=t.target.value;this.arcgisAggregatedGeometryGraphicsColorChange.emit(a)}} .disabled=${this._aggregatedGeometryDisabled}></calcite-color-picker></calcite-popover></div>`}_renderFeaturesAreHiddenLanding(){return r`<calcite-panel class="white-panel-background">${this._renderTraceResultsHeading()}${this._renderFeaturesAreHidden()}</calcite-panel>`}_renderFeaturesAreHidden(){return r`<div class="no-selectable-results">${this._messages.resultFeaturesAreHidden}</div>`}_renderNoSelectableResults(){return r`<div class="no-selectable-results">${this._messages.noSelectableFeatures}</div>`}_renderElementsResults(){return r`<calcite-list .label=${this._messages.headings.traceResultsGeneric}><calcite-list-item id=elements-list-item .label=${this._messages.headings.features} @calciteListItemSelect=${()=>this.isElementsSelected=!0}><calcite-chip .label=${this._messages.labels.numFeatures} scale=s slot=content-end>${this.numResults}</calcite-chip><calcite-icon icon=chevron-right slot=content-end></calcite-icon></calcite-list-item></calcite-list>`}_renderFunctionsResults(e){return r`<div class="functions-heading">${this._messages.headings.functions}</div><calcite-table .caption=${this._messages.labels.functionResults}>${e.filter(t=>t.networkAttributeName!=null&&t.result!=null&&t.functionType!=null).map(t=>{let{functionName:a,networkAttributeName:s,functionType:i,result:n}=t,l=a||`${s} ${i}`;return r`<calcite-table-row><calcite-table-cell>${l}</calcite-table-cell><calcite-table-cell>${n}</calcite-table-cell></calcite-table-row>`})}</calcite-table>`}_renderTraceResultsHeading(){return r`<div class="results-heading"><div class="results-heading-title">${this._messages.headings.traceResultsGeneric}</div>${this.traceConfigTitle?r`<div class="results-heading-subtitle">${this.traceConfigTitle}</div>`:null}</div>`}_renderErrorLanding(e){let t=e.message;switch(e.details?.raw?.extendedCode){case u.dirtyAreasDiscovered:t=this._messages.traceErrors.dirtyAreasDiscovered;break;case u.noValidControllers:t=this._messages.traceErrors.noValidControllers;break;case u.pathNotFound:t=this._messages.traceErrors.pathNotFound;break}return r`<calcite-panel class="white-panel-background">${this._renderTraceResultsHeading()}<div class="no-results-landing"><calcite-icon icon=exclamation-mark-triangle scale=l></calcite-icon><div class="no-results-heading">${this._messages.traceFailedHeading}</div><div class="no-results-description">${this._messages.traceFailedDescription}</div><div class="no-results-description">${t}</div></div></calcite-panel>`}_renderNoResultsLanding(){return r`<calcite-panel class="white-panel-background">${this._renderTraceResultsHeading()}<div class="no-results-landing"><calcite-icon icon=exclamation-mark-triangle scale=l></calcite-icon><div class="no-results-heading">${this._messages.noResultsHeading}</div><div class="no-results-description">${this._messages.noResultsDescription}</div></div></calcite-panel>`}_renderNoTraceLanding(){return r`<calcite-panel class="white-panel-background">${this._renderTraceResultsHeading()}<div class="no-results-landing"><calcite-icon icon=utility-network-trace scale=l></calcite-icon><div class="no-results-heading">${this._messages.noTraceConfigHeading}</div><div class="no-results-description">${this._messages.noTraceConfigDescription}</div></div></calcite-panel>`}};v("arcgis-utility-network-trace-results",m);return m},"Color","core/Error","Graphic",a,b)