@esri/solutions-components 0.11.37 → 0.11.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +0,0 @@
1
- /*!
2
- * Copyright 2022 Esri
3
- * Licensed under the Apache License, Version 2.0
4
- * http://www.apache.org/licenses/LICENSE-2.0
5
- */
6
- import{r as t,c as i,g as e,h as s,H as a}from"./p-934e8935.js";import{g as h}from"./p-57be3b9d.js";import{g as n,d as o,n as l}from"./p-5693ce7a.js";import{s as c}from"./p-5e7369d1.js";import"./p-d4056c1c.js";import"./p-80cb7c73.js";import"./p-c6e42ad1.js";const r=class{constructor(e){t(this,e),this.beforeLayerSelectionChange=i(this,"beforeLayerSelectionChange",7),this.idsFound=i(this,"idsFound",7),this.noLayersFound=i(this,"noLayersFound",7),this.layerSelectionChange=i(this,"layerSelectionChange",7),this.appearance="transparent",this.defaultLayerId="",this.display="inline-block",this.enabledLayerIds=[],this.enabledTableIds=[],this.height=void 0,this.isMobile=void 0,this.locale=void 0,this.mapView=void 0,this.onlyShowUpdatableLayers=void 0,this.placeholderIcon="",this.selectedIds=[],this.scale="m",this.showTables=void 0,this.showTablesDisabled=void 0,this.showSingleLayerAsLabel=!1,this.type="select",this._hasMultipleLayers=!0,this._hasValidLayers=!0,this._isDropdownOpen=void 0,this.ids=[],this.selectedName="",this._translations=void 0}get el(){return e(this)}defaultLayerHonored=!1;_layerElement;_layerNameHash;_skipEditCheck=!1;_tableNameHash;async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async mapViewWatchHandler(){await this._setLayers(),this.ids.length>0?(this._hasValidLayers=!0,this._hasMultipleLayers=this.ids.length>1,this._setSelectedLayer(this.ids[0])):(this._hasValidLayers=!1,this.noLayersFound.emit())}async setLayerById(t,i=!1){this._skipEditCheck=i,this._setSelectedLayer(t),this._skipEditCheck=!1}async setLayerByIds(t,i=!1){this._skipEditCheck=i,this._layerSelectionChange(t),this._skipEditCheck=!1}async updateLayer(){this._setSelectedLayer(this.ids[0])}beforeLayerSelectionChange;idsFound;noLayersFound;layerSelectionChange;async componentWillLoad(){await this._getTranslations(),await this._setLayers()}async componentWillRender(){if(this.ids.length>0||1===this.selectedIds.length){const t=1===this.selectedIds.length?this.selectedIds[0]:this.ids[0];if(t!==this.selectedIds[0])this._setSelectedLayer(t);else{const t=await n(this.mapView,this.selectedIds[0]);this.selectedName=t?.title}}}render(){const t="map-layer-picker";let i=this.height>0?{height:`${this.height.toString()}px`}:{};return i={...i,display:this.display},s(a,{key:"147cfa11bb6bcfd439045cbf8718efb40847a80e"},s("div",{key:"7955f81d7b76f36c267cdc0716f117db44dce46e",class:"map-layer-picker-container",style:i},s("div",{key:"930a397e3504991e6681253b06c2e36bc7abf184",class:"map-layer-picker",style:i},this._hasValidLayers?!this._hasMultipleLayers&&this.showSingleLayerAsLabel?this._getSingleLayerPlaceholder():"combobox"===this.type?this._getCombobox(t):"select"===this.type?this._getSelect(t):this._getDropdown(t):this._getInvalidPlaceholder())))}async componentDidLoad(){if(this.ids.length>0||1===this.selectedIds.length){const t=1===this.selectedIds.length?this.selectedIds[0]:this.ids[0];"select"===this.type?this._layerElement.value=t:"dropdown"===this.type&&(this.selectedName=Object.keys(this._layerNameHash).indexOf(t)>-1?this._layerNameHash[t].name:Object.keys(this._tableNameHash).indexOf(t)>-1?this._tableNameHash[t].name:"")}}_getInvalidPlaceholder(){return s("div",null,s("calcite-notice",{class:"height-100",icon:"exclamation-mark-triangle",id:"no-valid-layers",kind:"danger",open:!0},s("div",{slot:"message"},this._translations.noLayersFound)),s("calcite-tooltip",{label:this._translations.enableEditUpdate,placement:"bottom","reference-element":"no-valid-layers"},s("span",null,this._translations.enableEditUpdate)))}_getSingleLayerPlaceholder(){const t=this._getItemTypeIcon();return s("div",{class:"layer-picker-label-container cursor-default"},s("calcite-icon",{icon:t,scale:"s"}),s("calcite-label",{class:"no-bottom-margin padding-start-1"},this.selectedName))}_getSelect(t){return s("calcite-select",{id:t,label:"",onCalciteSelectChange:()=>this._layerSelectionChange(),ref:t=>{this._layerElement=t},scale:this.scale},this._getMapLayerOptions())}_getCombobox(t){return s("calcite-combobox",{clearDisabled:!0,id:t,label:"",onCalciteComboboxChange:()=>this._layerSelectionChange(),"placeholder-icon":this.placeholderIcon,ref:t=>{this._layerElement=t},scale:this.scale,"selection-mode":"single"},this._getMapLayerOptions())}_getDropdown(t){return s("calcite-dropdown",{class:"layer-picker-dropdown",onCalciteDropdownBeforeClose:()=>this._isDropdownOpen=!1,onCalciteDropdownBeforeOpen:()=>this._isDropdownOpen=!0},this.isMobile?this._getDropdownButton():this._getActionDropdownButton(t),s("calcite-dropdown-group",{"selection-mode":"single"},this._getMapLayerOptions()))}_getActionDropdownButton(t){return s("calcite-action",{id:t,slot:"trigger",text:""},this._getDropdownButton())}_getDropdownButton(){const t=this._getItemTypeIcon();return s("calcite-button",{alignment:"icon-end-space-between",appearance:this.appearance,class:this.isMobile?"":"max-width-350",iconEnd:this._isDropdownOpen?"chevron-up":"chevron-down",iconStart:t,kind:"neutral",slot:this.isMobile?"trigger":"",width:"full"},s("div",null,this.selectedName))}_getItemTypeIcon(){let t="layers";if(this.selectedIds.length>0&&this._layerNameHash){const i=this.selectedIds[0];t=Object.keys(this._layerNameHash).indexOf(i)>-1?"layers":"table"}return t}_getMapLayerOptions(){return this.ids.reduce(((t,i)=>(this._validLayer(i)?t.push(this._getItem(i,"layer")):this._validTable(i)&&t.push(this._getItem(i,"table")),t)),[])}_getItem(t,i){const e="layer"===i?this._layerNameHash[t]:this._tableNameHash[t],a=!!this.onlyShowUpdatableLayers&&!e.supportsUpdate,h=e.name,n=this.selectedIds.indexOf(t)>-1;return"combobox"===this.type?s("calcite-combobox-item",{disabled:a,selected:n,textLabel:h,value:t}):"select"===this.type?s("calcite-option",{disabled:a,label:h,selected:n,value:t}):s("calcite-dropdown-group",{class:a?"disabled":"",selectionMode:a?"none":"single"},s("calcite-dropdown-item",{disabled:"table"===i&&this.showTablesDisabled,"icon-start":i,onClick:a?void 0:()=>{this._setSelectedLayer(t)},selected:n},h))}_setSelectedLayer(t){let i;this.defaultLayerId&&!this.defaultLayerHonored&&(i=this._getLayerFromHash(this.defaultLayerId),this.defaultLayerHonored=void 0!==i,t=this.defaultLayerHonored?this.defaultLayerId:t),i=i||this._getLayerFromHash(t),(this._skipEditCheck||!this.beforeLayerSelectionChange.emit({currentId:this.selectedIds[0],newId:t,ref:this.el}).defaultPrevented)&&(this.selectedName=i?.name,this.selectedIds=[t],this.layerSelectionChange.emit(this.selectedIds))}_getLayerFromHash(t){return Object.keys(this._layerNameHash).indexOf(t)>-1?this._layerNameHash[t]:Object.keys(this._tableNameHash).indexOf(t)>-1?this._tableNameHash[t]:void 0}async _setLayers(){if(this.mapView){await this._initLayerTableHash();const t=this.onlyShowUpdatableLayers?this._getEditableIds(this._layerNameHash):Object.keys(this._layerNameHash),i=this.showTables?this.onlyShowUpdatableLayers?this._getEditableIds(this._tableNameHash):Object.keys(this._tableNameHash):[];this.ids=[...t.reverse().filter((t=>!(this.enabledLayerIds?.length>0)||this.enabledLayerIds.reverse().indexOf(t)>-1)),...i.reverse().filter((t=>!(this.enabledTableIds?.length>0)||this.enabledTableIds.reverse().indexOf(t)>-1))],this.idsFound.emit({layerIds:t,tableIds:i})}}_getEditableIds(t){return Object.keys(t).reduce(((i,e)=>(t[e].supportsUpdate&&i.push(e),i)),[])}async _initLayerTableHash(){this._layerNameHash=await o(this.mapView,this.onlyShowUpdatableLayers),this._tableNameHash=this.showTables?await l(this.mapView,this.onlyShowUpdatableLayers):{}}_validLayer(t){const i=this._layerNameHash[t]?.name;return i&&Object.keys(c.managedLayers).indexOf(i)<0&&(!(this.enabledLayerIds.length>0)||this.enabledLayerIds.indexOf(t)>-1)}_validTable(t){const i=this._tableNameHash[t]?.name,e=i&&this.showTables;return e?c.managedTables.indexOf(i)<0&&(!(this.enabledTableIds.length>0)||this.enabledTableIds.indexOf(t)>-1):e}_layerSelectionChange(t){const i=t||(Array.isArray(this._layerElement.value)?this._layerElement.value:[this._layerElement.value]);if(JSON.stringify(i)!==JSON.stringify([""])){if(!this._skipEditCheck&&this.beforeLayerSelectionChange.emit({currentIds:this.selectedIds,newIds:i,ref:this.el}).defaultPrevented)return;this.selectedIds=i,this.layerSelectionChange.emit(this.selectedIds)}}async _getTranslations(){const t=await h(this.el);this._translations=t[0]}static get watchers(){return{locale:["localeWatchHandler"],mapView:["mapViewWatchHandler"]}}};r.style=":host{display:block}.map-layer-picker-container{width:100%;align-items:center}.map-layer-picker{position:relative;width:100%;display:inline-block}.padding-bottom-1{padding-bottom:1rem}.layer-picker-dropdown{height:100%;width:100%}.max-width-350{max-width:350px}.height-100{height:100%}.disabled{cursor:default !important;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled);pointer-events:none}.no-bottom-margin{--calcite-label-margin-bottom:0px}.layer-picker-label-container{align-items:center;display:inline-flex;height:100%;padding-inline-start:1rem;padding-inline-end:1rem}.padding-start-1{padding-inline-start:1rem}.cursor-default{cursor:default}";export{r as map_layer_picker}