@arcgis/map-components
Version:
ArcGIS Map Components
4 lines • 15.2 kB
JavaScript
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
v4.33.13 */
import{a as L}from"./UCMRMXAM.js";import{a as v,b as f}from"./MF2SVVTD.js";import"./3SV5PEHC.js";import{a as S}from"./MZHKSD55.js";import"./4TYQGSWG.js";import"./JDUE7Q24.js";import{j as M}from"./DXCYBWXJ.js";import{E as C,P as T,Q as h,R as A,S as o,U as w,a as y,k as r}from"./HX57SHRL.js";export default $arcgis.t(([{isLayerFromCatalog:O}])=>{var D={hideChildren:"hide-children"};function R({exclusive:n,visible:e,visibilityAppearance:t}){let i=t==="checkbox";return e?n?"circle-f":i?"check-square-f":"view-visible":n?"circle":i?"square":"view-hide"}function P({connectionStatus:n,publishing:e}){return n?n==="connected"?"beacon":"offline":e?"square":"bullet-point"}function k(n){return n?.listMode===D.hideChildren}function F(n){let e=(n?.layer&&U(n.layer)?n.layer.layer:void 0)??n?.layer;return e?e.type==="catalog"?!1:B(e)??!0:!1}function U(n){return n!=null&&"layer"in n&&n.layer!=null}function B(n){let e=V(n);return e!=null&&"supportsDynamicLayers"in e?e.supportsDynamicLayers:void 0}function V(n){return n&&"capabilities"in n&&n.capabilities!=null&&"exportMap"in n.capabilities?n.capabilities.exportMap:void 0}function N(n){return n?.getAttribute("data-item")}function G(n){let{children:e,error:t}=n,i="incompatible"in n?n.incompatible:!1;return!!e?.filter(a=>!a.hidden).length&&!t&&!i}function H(n){for(let e of n)for(let t of e)if(t.type==="button"||t.type==="toggle")return t}function E(n,e){let t=n.parent,i=n.layer;if(i?.type!=="map-image"||!i.sourceJSON||!t)return!1;let a=i.sourceJSON.layers;if(!a)return!1;let s=a.find(l=>n.id===l.id),c=e==="footprints"?"Feature Layer":"Catalog Dynamic Group Layer";return s?.type!==c?!1:a.find(l=>l.id===t.id)?.type==="Catalog Layer"}function x(n){if(n.icon)return n.icon;if(!("image"in n&&n.image)&&!n.className)return"question"}function q(n){return n?{backgroundImage:`url(${n})`}:{}}var I=class extends T{constructor(){super(...arguments),this._itemRef=v(),this._noticeRef=v(),this._messages=S({name:"layer-list"}),this.hideCatalogLayerList=!1,this.showCloseButton=!1,this.showCollapseButton=!1,this.showErrors=!1,this.showFilter=!1,this.hideFlow=!1,this.showHeading=!1,this.hideStatusIndicators=!1,this.showTemporaryLayerIndicators=!1,this.showTemporaryTableIndicators=!1,this.dragEnabled=!1,this.listModeDisabled=!1,this.autoDestroyDisabled=!1}static{this.properties={_title:16,_renderedItemStatus:16,_renderedItemTemporaryIcon:16,_renderedItemToggle:16,_renderedPanel:16,_renderedPanelAction:16,_renderedActions:16,_renderedActionMenu:16,_renderedActionMenuContent:16,_renderedCatalogFootprintIcon:16,_renderedCatalogDynamicIcon:16,_renderedCatalogSelectNode:16,_renderedChildList:16,_hasTables:16,_renderedTablesItem:16,_renderedItemMessage:16,_singleAction:16,_filteredSections:16,_actionsCount:16,activeItem:0,canMove:0,css:0,displayMode:1,hideCatalogLayerList:5,showCloseButton:5,showCollapseButton:5,showErrors:5,showFilter:5,hideFlow:5,showHeading:5,hideStatusIndicators:5,showTemporaryLayerIndicators:5,showTemporaryTableIndicators:5,dragEnabled:5,item:0,layerTablesEnabled:0,listModeDisabled:5,handleAction:0,handlePanelOpen:0,handleCatalogOpen:0,handleTablesOpen:0,handleSelectedDragItemLayerUidChange:0,handleTooltipReferenceChange:0,parent:0,parentTitles:0,rootGroupUid:1,selectionMode:1,selectedItems:0,selectedDragItemLayerUid:1,visibilityAppearance:1,autoDestroyDisabled:5}}static{this.styles=L}static{this.shadowRootOptions=C}get _title(){let{_messages:e}=this;return this.item.title||("untitledTable"in e?e.untitledTable:e.untitledLayer)}get _renderedItemStatus(){let{item:e,parent:t,hideStatusIndicators:i,css:a}=this;if(!i)return null;let{publishing:s}=e,c="updating"in e&&e.updating&&!t,l="connectionStatus"in e?e.connectionStatus:void 0,u=!!l;return r`<calcite-icon class=${h(y(a.statusIndicator,{[a.publishing]:s},"updating"in a&&{[a.updating]:c},"connectionStatus"in a&&{[a.connectionStatus]:u},"connectionStatusConnected"in a&&{[a.connectionStatusConnected]:u&&l==="connected"}))} .icon=${P({connectionStatus:l,publishing:s})} scale=s slot=content-end></calcite-icon>`}get _renderedItemTemporaryIcon(){let{item:e,showTemporaryLayerIndicators:t,showTemporaryTableIndicators:i,css:a}=this,{layer:s}=e,c=s&&"persistenceEnabled"in s&&(O(s)||!s.persistenceEnabled);return(t||i)&&c?r`<calcite-icon class=${h(a.itemTemporaryIcon)} icon=temporary scale=s slot=content-start title=${this._messages.temporary??o}></calcite-icon>`:null}get _renderedItemToggle(){let{item:e,parent:t,_messages:i,visibilityAppearance:a,css:s}=this;if(!("visible"in e)||!("layerVisibility"in i)||!("visibleToggle"in s)||!a)return null;let{visible:c}=e,l=this._getParentVisibilityMode(t);if(l==="inherited")return null;let u=R({visible:c,exclusive:l==="exclusive",visibilityAppearance:a}),d=a==="checkbox",g=i.layerVisibility;return r`<calcite-action appearance=transparent class=${h(s.visibleToggle)} .icon=${d?u:void 0} =${()=>this._toggleVisibility(e,t)} scale=s .slot=${d?"actions-start":"actions-end"} .text=${g??""} title=${g??o}>${d?null:r`<calcite-icon class=${h(y({[s.visibleIcon]:l!=="exclusive"&&c}))} .icon=${u} scale=s></calcite-icon>`}</calcite-action>`}get _renderedPanel(){let{panel:e}=this.item;return e?.open&&!e.disabled&&!e.flowEnabled?r`<div class=${h(this.css.itemContentBottom)} slot=content-bottom>${e.render()}</div>`:null}get _renderedPanelAction(){let{panel:e}=this.item;if(!e?.visible)return null;let{open:t,title:i,disabled:a}=e,s={icon:e.icon,image:e.image,indicator:!1};return r`<calcite-action .active=${t} appearance=transparent .disabled=${a} .icon=${x(s)} =${()=>this._togglePanel(e)} scale=s slot=actions-end .text=${i??""} title=${i??void 0??o}>${this._renderFallbackIcon(e)}</calcite-action>`}get _renderedActions(){switch(this._actionsCount){case 0:return null;case 1:return this._singleAction;default:return this._renderedActionMenu}}get _renderedActionMenu(){let{item:e,_messages:t}=this,i=t.options;return r`<calcite-action-menu appearance=transparent .label=${t.menu??""} .open=${e.actionsOpen} overlay-positioning=fixed placement=bottom-end scale=s slot=actions-end =${this._onActionMenuOpen}><calcite-action appearance=transparent icon=ellipsis scale=s slot=trigger .text=${i??""} title=${i??o}></calcite-action>${this._renderedActionMenuContent}</calcite-action-menu>`}get _renderedActionMenuContent(){return this._filteredSections.toArray().map(e=>r`<calcite-action-group>${e.toArray().map(t=>this._renderAction({action:t,textEnabled:!0}))}</calcite-action-group>`)}get _renderedCatalogFootprintIcon(){let{css:e}=this,t=this.item.layer,i=t?.type==="catalog-footprint",a=t?.type==="sublayer"&&E(t,"footprints");return"itemCatalogIcon"in e&&(i||a)?r`<calcite-icon class=${h(e.itemCatalogIcon)} icon=footprint scale=s slot=content-start></calcite-icon>`:null}get _renderedCatalogDynamicIcon(){let{css:e}=this,t=this.item.layer,i=t?.type==="catalog-dynamic-group",a=t?.type==="sublayer"&&E(t,"layers-in-view");return"itemCatalogIcon"in e&&(i||a)?r`<calcite-icon class=${h(e.itemCatalogIcon)} icon=catalog-dataset scale=s slot=content-start></calcite-icon>`:null}get _renderedCatalogSelectNode(){let{_title:e,item:t,hideCatalogLayerList:i}=this;if(!("visible"in t))return;let{layer:a}=t,s=a?.type==="catalog-dynamic-group";return i&&s?r`<calcite-action appearance=transparent .disabled=${!a.visible} icon=chevron-right icon-flip-rtl =${()=>this._triggerOnCatalogOpen(t)} scale=s slot=actions-end .text=${e}></calcite-action>`:null}get _renderedChildList(){let{dragEnabled:e,item:t,rootGroupUid:i,listModeDisabled:a,selectionMode:s,displayMode:c}=this;if(!("children"in t))return;let l=[...this.parentTitles??[],t.title],{children:u,layer:d}=t,g=d?.type!=="catalog-dynamic-group"&&G(t),$=a?!1:k(d),m=d?.type==="group",_=!$&&!g&&e&&m,b=e?"childrenSortable"in t&&t.childrenSortable&&F(t):!1;return g||_?r`<calcite-list .canPull=${p=>this.canMove?this.canMove(p,"pull"):!1} .canPut=${p=>this.canMove?this.canMove(p,"put"):!1} data-item=${t??o} data-layer-type=${i??o} .displayMode=${c} .dragEnabled=${b} .group=${m?i:`${i}-${d?.uid}`} .label=${t.title} selection-appearance=border .selectionMode=${s}>${u?.filter(p=>!p.hidden&&(this.showErrors||!p.error)).toArray().map(p=>this._renderItem(p,t,l))}${this._renderedTablesItem}</calcite-list>`:null}get _hasTables(){let{layerTablesEnabled:e}=this,t=this.item.layer;if(!e||!t)return!1;switch(t.type){case"knowledge-graph":return e.includes(t.type)&&"tables"in t&&!!t.tables?.length;case"map-image":case"tile":return e.includes(t.type)&&"subtables"in t&&!!t.subtables?.length;default:return!1}}get _renderedTablesItem(){let{item:e,_messages:t,css:i}=this,{layer:a}=e;return"itemTableIcon"in i&&"visible"in e&&"tables"in t&&this._hasTables?r`<calcite-list-item class=${h(i.item)} data-layer-id=${a?.id??o} drag-disabled .label=${t.tables} title=${t.tables??o} =${()=>this._triggerOnTablesOpen(e)}><calcite-icon class=${h(i.itemTableIcon)} icon=table scale=s slot=content-start></calcite-icon><calcite-icon flip-rtl icon=chevron-right scale=s slot=content-end></calcite-icon></calcite-list-item>`:null}get _renderedItemMessage(){let{item:e,_messages:t,css:i}=this;return e.error?r`<div class=${h(i.itemMessage)} slot=content-bottom><calcite-notice icon=exclamation-mark-triangle kind=warning open scale=s width=full><div slot=message>${"tableError"in t?t.tableError:t.layerError}</div></calcite-notice></div>`:"incompatible"in e&&e.incompatible&&"layerIncompatible"in t?r`<div class=${h(i.itemMessage)} slot=content-bottom><calcite-notice icon=exclamation-mark-triangle kind=warning open scale=s tabindex=0 width=full ${f(this._noticeRef)}><div slot=message>${t.layerIncompatible}</div></calcite-notice></div>`:null}get _singleAction(){return this._renderAction({action:H(this._filteredSections),textEnabled:!1})}get _filteredSections(){return this.item.actionsSections.map(e=>e.filter(t=>t.visible))}get _actionsCount(){return this.item.actionsSections.reduce((e,t)=>e+t.length,0)}async destroy(){await this.manager.destroy()}willUpdate(){this._itemRef.value&&this._focusSelectedDragEl(this._itemRef.value,this.item),this._noticeRef.value&&this._setTooltipReference(this._noticeRef.value)}updated(){this._itemRef.value&&this._focusSelectedDragEl(this._itemRef.value,this.item),this._noticeRef.value&&this._removeTooltipReference()}_onActionMenuOpen(e){this.item.actionsOpen=e.currentTarget.open}_setTooltipReference(e){this.handleTooltipReferenceChange?.(this.item.layer?.uid,e)}_removeTooltipReference(){this.handleTooltipReferenceChange?.(this.item.layer?.uid,null)}_triggerAction(e,t){!t||!e||(t.type==="toggle"&&(t.value=!t.value),this.handleAction(t,e))}_triggerOnTablesOpen(e){!e||!this.handleTablesOpen||this.handleTablesOpen(e)}_triggerOnCatalogOpen(e){e&&this.handleCatalogOpen?.(e)}_focusSelectedDragEl(e,t){this.selectedDragItemLayerUid===t.layer?.uid&&(M(e),this.handleSelectedDragItemLayerUidChange?.(null))}_handleCalciteListItemToggle(e,t){e.stopPropagation(),t.open=e.target.expanded}_getParentVisibilityMode(e){return e&&"visibilityMode"in e?e.visibilityMode:null}_handleCalciteListItemSelect(e,t,i){if(N(e.target)!==t)return;let a=this._getParentVisibilityMode(i);this.selectionMode!=="none"||a==="inherited"||this._toggleVisibility(t,i)}_togglePanel(e){e.open=!e.open,e.open&&this.handlePanelOpen()}_toggleVisibility(e,t){!e||!("visible"in e)||this._getParentVisibilityMode(t)==="exclusive"&&e.visible||(e.visible=!e.visible)}render(){let e=this.parentTitles??[],{_title:t,item:i,activeItem:a,selectionMode:s,selectedItems:c,_messages:l,parent:u,css:d}=this,g="visibleAtCurrentTimeExtent"in i&&"layerInvisibleAtTime"in l&&!i.visibleAtCurrentTimeExtent?`${t} (${l.layerInvisibleAtTime})`:"visibleAtCurrentScale"in i&&"layerInvisibleAtScale"in l&&!i.visibleAtCurrentScale?`${t} (${l.layerInvisibleAtScale})`:t,$="parent"in i&&i.parent?.layer?.type==="catalog",{layer:m}=i,_="visibleAtCurrentScale"in i&&!i.visibleAtCurrentScale||"visibleAtCurrentTimeExtent"in i&&!i.visibleAtCurrentTimeExtent;return r`<calcite-list-item class=${h(y(d.item,"itemActive"in d&&{[d.itemActive]:a===i}))} data-item=${i??o} data-layer-id=${m?.id??o} .dragDisabled=${!("sortable"in i&&i.sortable)||$} id=${m?.uid??o} .label=${t} .metadata=${{parentTitles:e,_title:t}} .expanded=${"open"in i&&i.open} .selected=${s!=="none"?c.includes(i):!1} title=${g??o} .unavailable=${_} .value=${m?.uid} =${b=>"visible"in i&&this._handleCalciteListItemSelect(b,i,u)} =${b=>"open"in i&&this._handleCalciteListItemToggle(b,i)} ${f(this._itemRef)}>${this._renderedCatalogFootprintIcon}${this._renderedCatalogDynamicIcon}${this._renderedItemStatus}${this._renderedItemToggle}${this._renderedCatalogSelectNode}${this._renderedItemTemporaryIcon}${this._renderedChildList}${this._renderedItemMessage}${this._renderedPanel}${this._renderedPanelAction}${this._renderedActions}</calcite-list-item>`}_renderAction(e){let{item:t}=this,{action:i,textEnabled:a}=e;if(!i)return null;let{active:s,disabled:c,title:l,type:u,indicator:d}=i;return r`<calcite-action .active=${u==="toggle"?i.value:!1} appearance=transparent data-action-id=${i.id??o} .disabled=${c} .icon=${x(i)} .indicator=${d} .loading=${s} =${()=>this._triggerAction(t,i)} scale=s slot=${(a?void 0:"actions-end")??o} .text=${l??""} .textEnabled=${a} title=${l??void 0??o}>${this._renderFallbackIcon(i)}</calcite-action>`}_renderFallbackIcon(e){let{css:t}=this,{icon:i}=e;if(i)return null;let a="image"in e?e.image:void 0,s={[t.itemActionImage]:!!a};return a?r`<span aria-hidden=true class=${h(y(t.itemActionIcon,s))} style=${A(q(a))}></span>`:null}_renderItem(e,t,i=[]){return r`<arcgis-layer-list-item .activeItem=${this.activeItem} .canMove=${this.canMove} .css=${this.css} .displayMode=${this.displayMode} .dragEnabled=${this.dragEnabled} .item=${e} .layerTablesEnabled=${this.layerTablesEnabled} .listModeDisabled=${this.listModeDisabled} .parent=${t} .parentTitles=${i} .rootGroupUid=${this.rootGroupUid} .selectedDragItemLayerUid=${this.selectedDragItemLayerUid} .selectedItems=${this.selectedItems} .selectionMode=${this.selectionMode} .visibilityAppearance=${this.visibilityAppearance} .handleAction=${this.handleAction} .handleCatalogOpen=${this.handleCatalogOpen} .handlePanelOpen=${this.handlePanelOpen} .handleSelectedDragItemLayerUidChange=${this.handleSelectedDragItemLayerUidChange} .handleTablesOpen=${this.handleTablesOpen} .handleTooltipReferenceChange=${this.handleTooltipReferenceChange} .hideCatalogLayerList=${this.hideCatalogLayerList} .showCloseButton=${this.showCloseButton} .showCollapseButton=${this.showCollapseButton} .showErrors=${this.showErrors} .showFilter=${this.showFilter} .hideFlow=${this.hideFlow} .showHeading=${this.showHeading} .hideStatusIndicators=${this.hideStatusIndicators} .showTemporaryLayerIndicators=${this.showTemporaryLayerIndicators} .showTemporaryTableIndicators=${this.showTemporaryTableIndicators}></arcgis-layer-list-item>`}};w("arcgis-layer-list-item",I);return I},"layers/catalog/catalogUtils")