@esri/solutions-components 0.7.50 → 0.7.52

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.
@@ -177,6 +177,16 @@ export declare class CrowdsourceManager {
177
177
  * When true only editable tables have been found and the map will be hidden
178
178
  */
179
179
  _tableOnly: boolean;
180
+ /**
181
+ * boolean: When true the map view will be set after render due to popup obstructing the view
182
+ * MapView.when is not fired when mapView is not currently visible
183
+ */
184
+ protected _defaultCenterHonored: boolean;
185
+ /**
186
+ * boolean: When true the map view will be set after render due to popup obstructing the view
187
+ * MapView.when is not fired when mapView is not currently visible
188
+ */
189
+ protected _defaultLevelHonored: boolean;
180
190
  /**
181
191
  * HTMLLayerTableElement: The layer table element
182
192
  */
@@ -194,8 +204,6 @@ export declare class CrowdsourceManager {
194
204
  * MapView.when is not fired when mapView is not currently visible
195
205
  */
196
206
  protected _shouldSetMapView: boolean;
197
- protected _defaultCenterHonored: boolean;
198
- protected _defaultLevelHonored: boolean;
199
207
  /**
200
208
  * When true the map zoom tools will be available
201
209
  */
@@ -86,5 +86,5 @@ export declare class FloorFilter {
86
86
  /**
87
87
  * Initialize the floor filter or reset the current view if it already exists
88
88
  */
89
- protected _initFloorFilter(view: __esri.MapView): void;
89
+ protected _initFloorFilter(view: __esri.MapView, webMap: __esri.WebMap): void;
90
90
  }
@@ -282,7 +282,13 @@ export declare class LayerTable {
282
282
  * IToolSizeInfo[]: Id and Width for the current tools
283
283
  */
284
284
  protected _toolbarSizeInfos: IToolSizeInfo[];
285
+ /**
286
+ * Handle url defaults when defaultOid is set
287
+ */
285
288
  defaultOidWatchHandler(): Promise<void>;
289
+ /**
290
+ * Handle url defaults when defaultGlobalId is set
291
+ */
286
292
  defaultGlobalIdWatchHandler(): Promise<void>;
287
293
  /**
288
294
  * Reset the toolInfos when export csv is enabled/disabled
@@ -573,6 +579,9 @@ export declare class LayerTable {
573
579
  * Reset _allIds when the layers data has changed and refresh the selection ids and table
574
580
  */
575
581
  protected _updateAllIds(): Promise<void>;
582
+ /**
583
+ * Handle default OID or GlobalID from url parameters
584
+ */
576
585
  protected _handleDefaults(): Promise<void>;
577
586
  /**
578
587
  * Store the column names and current hidden status to support show/hide of columns
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/solutions-components",
3
- "version": "0.7.50",
3
+ "version": "0.7.52",
4
4
  "description": "Web Components for Esri's Solutions Applications",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -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 i,h as t,H as s,g as e,c as h}from"./p-7d280d8a.js";import{l as a,g as o}from"./p-b04c9dc3.js";import"./p-d918ec36.js";import"./p-e1a4994d.js";const n=class{constructor(t){i(this,t),this.mapView=void 0,this.basemapConfig=void 0,this.basemapWidget=void 0}async mapViewWatchHandler(){await this.mapView.when((()=>{this._initBaseMapGallery(this.mapView)}))}async componentWillLoad(){return this._initModules()}render(){return t(s,null,t("div",{ref:i=>{this._basemapElement=i}}))}async componentDidLoad(){this.mapView&&await this.mapViewWatchHandler()}async _initModules(){const[i,t]=await a(["esri/widgets/BasemapGallery","esri/widgets/BasemapGallery/support/PortalBasemapsSource"]);this.BasemapGallery=i,this.PortalBasemapsSource=t}async _initBaseMapGallery(i){var t;if(this.BasemapGallery){this.basemapWidget&&this.basemapWidget.destroy();const s=new this.PortalBasemapsSource({query:(null===(t=this.basemapConfig)||void 0===t?void 0:t.basemapGroupId)?`id:${this.basemapConfig.basemapGroupId}`:null,filterFunction:this.basemapConfig?i=>!this.basemapConfig.basemapIdsToFilter.includes(i.portalItem.id):()=>!0});await s.refresh(),this.basemapWidget=new this.BasemapGallery({container:this._basemapElement,view:i,source:s})}}get el(){return e(this)}static get watchers(){return{mapView:["mapViewWatchHandler"]}}};n.style=":host{display:block}";const r=class{constructor(t){i(this,t),this.facilityChanged=h(this,"facilityChanged",7),this.levelChanged=h(this,"levelChanged",7),this.siteChanged=h(this,"siteChanged",7),this.enabled=void 0,this.floorFilterWidget=void 0,this.mapView=void 0}async mapViewWatchHandler(){await this.mapView.when((()=>{this._initFloorFilter(this.mapView)}))}async componentWillLoad(){return this._initModules()}render(){return t(s,null,t("div",{ref:i=>{this._floorFilterElement=i}}))}async _initModules(){const[i,t]=await a(["esri/widgets/FloorFilter","esri/core/reactiveUtils"]);this.FloorFilter=i,this.reactiveUtils=t}_initFloorFilter(i){var t,s,e,h;i&&this.enabled&&this.FloorFilter&&(null===(t=null==i?void 0:i.map)||void 0===t?void 0:t.floorInfo)&&(this.floorFilterWidget?this.floorFilterWidget.viewModel.view=i:(this.floorFilterWidget=new this.FloorFilter({container:this._floorFilterElement,view:i}),null===(s=this._facilityHandle)||void 0===s||s.remove(),this._facilityHandle=this.reactiveUtils.watch((()=>this.floorFilterWidget.facility),(i=>{this.facilityChanged.emit(i)})),null===(e=this._levelHandle)||void 0===e||e.remove(),this._levelHandle=this.reactiveUtils.watch((()=>this.floorFilterWidget.level),(i=>{this.levelChanged.emit(i)})),null===(h=this._siteHandle)||void 0===h||h.remove(),this._siteHandle=this.reactiveUtils.watch((()=>this.floorFilterWidget.site),(i=>{this.siteChanged.emit(i)}))))}get el(){return e(this)}static get watchers(){return{mapView:["mapViewWatchHandler"]}}};r.style=":host{display:block}";const l=class{constructor(t){i(this,t),this.fullscreenStateChange=h(this,"fullscreenStateChange",7),this.mapView=void 0,this.fullscreenWidget=void 0}async mapViewWatchHandler(){await this.mapView.when((async()=>{await this._initFullscreenWidget()}))}async componentWillLoad(){await this._initModules()}render(){return t(s,null,t("div",{class:"fullscreen-widget",ref:i=>{this._fullscreenElement=i}}))}async componentDidUpdate(){await this._initFullscreenWidget()}async componentDidLoad(){await this._initFullscreenWidget()}async _initModules(){const[i,t]=await a(["esri/widgets/Fullscreen","esri/core/reactiveUtils"]);this.Fullscreen=i,this.reactiveUtils=t}async _initFullscreenWidget(){this.mapView&&this._fullscreenElement&&!this.fullscreenWidget?(this.fullscreenWidget=new this.Fullscreen({view:this.mapView}),await this.fullscreenWidget.when((()=>{this._fullscreenStateChangeHandle&&this._fullscreenStateChangeHandle.remove(),this._fullscreenStateChangeHandle=this.reactiveUtils.watch((()=>this.fullscreenWidget.viewModel.state),(i=>this.fullscreenStateChange.emit(i)))}))):this.fullscreenWidget&&(this.fullscreenWidget.view=this.mapView)}static get watchers(){return{mapView:["mapViewWatchHandler"]}}};l.style=":host{display:block}";const c=class{constructor(t){i(this,t),this.mapView=void 0,this.legendWidget=void 0}async mapViewWatchHandler(){await this.mapView.when((()=>{this._initLegend(this.mapView)}))}async componentWillLoad(){return this._initModules()}render(){return t(s,null,t("div",{ref:i=>{this._legendElement=i}}))}async componentDidLoad(){this.mapView&&await this.mapViewWatchHandler()}async _initModules(){const[i]=await a(["esri/widgets/Legend"]);this.Legend=i}_initLegend(i){i&&this.Legend&&(this.legendWidget?this.legendWidget.view=i:this.legendWidget=new this.Legend({container:this._legendElement,view:i}))}get el(){return e(this)}static get watchers(){return{mapView:["mapViewWatchHandler"]}}};c.style=":host{display:block}";const d=class{constructor(t){i(this,t),this.mapInfoChange=h(this,"mapInfoChange",7),this._loadedId="",this.mapInfos=[],this._mapListExpanded=!1,this._translations=void 0,this._webMapInfo=void 0}_webMapInfoWatchHandler(i,t){i&&JSON.stringify(i)!==JSON.stringify(t)&&(this._loadedId=null==i?void 0:i.id,this.mapInfoChange.emit(i))}async mapInfosWatchHandler(i,t){i&&JSON.stringify(i)!==JSON.stringify(t)&&this._webMapSelected(i[0])}async setMapByID(i){var t;const s=null===(t=this.mapInfos)||void 0===t?void 0:t.filter((t=>t.id===i));i&&(null==s?void 0:s.length)>0&&this._webMapSelected(s[0])}async componentWillLoad(){await this._getTranslations()}render(){return t(s,null,this._getToolbar(),this._getMapNameList(this._mapListExpanded))}async componentDidLoad(){const i=this.mapInfos&&this.mapInfos.length>0?this.mapInfos[0]:void 0;i&&this._webMapSelected(i)}_getMapPicker(){var i;const s="map-picker-expand-toggle";return t("div",{class:"width-full"},t("calcite-button",{alignment:"icon-end-space-between",appearance:"transparent",class:"width-full height-full",iconEnd:this._mapListExpanded?"chevron-up":"chevron-down",id:s,kind:"neutral",onClick:()=>this._chooseMap(),width:"full"},null===(i=this._webMapInfo)||void 0===i?void 0:i.name),t("calcite-tooltip",{label:"",placement:"bottom","reference-element":s},t("span",null,this._translations.switchMap)))}_getToolbar(){return t("div",{class:"display-flex"},t("calcite-action-bar",{class:"border-bottom-1 action-bar-size","expand-disabled":!0,layout:"horizontal",slot:"header"},this._getMapPicker()))}_getMapNameList(i){return t("div",{class:i?"map-list border-bottom-1":"display-none"},t("calcite-list",{id:"mapList",ref:i=>this._list=i,selectionAppearance:"border",selectionMode:"single"},this.mapInfos.map((i=>t("calcite-list-item",{label:i.name,onClick:()=>this._webMapSelected(i),selected:i.id===this._loadedId,value:i.id})))))}_webMapSelected(i){this._mapListExpanded=!1,this._webMapInfo=i}_chooseMap(){this._mapListExpanded=!this._mapListExpanded}async _getTranslations(){const i=await o(this.el);this._translations=i[0]}get el(){return e(this)}static get watchers(){return{_webMapInfo:["_webMapInfoWatchHandler"],mapInfos:["mapInfosWatchHandler"]}}};d.style=":host{display:block;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.width-full{width:100%}.height-full{height:100%}.display-flex{display:flex}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-color-border-3)}.action-bar-size{height:51px;width:100%}.map-list{position:absolute;display:flex;flex-direction:column;overflow:hidden;animation:calcite-scrim-fade-in var(--calcite-internal-animation-timing-medium) ease-in-out;background-color:var(--calcite-color-background);z-index:1000;width:100%;height:-moz-fit-content;height:fit-content}.display-none{display:none}.align-center{align-items:center}";const p=class{constructor(t){i(this,t),this.mapView=void 0,this.popupEnabled=!1,this.resultGraphicEnabled=!1,this.searchConfiguration=void 0,this.searchTerm=void 0,this.searchWidget=void 0}async watchSearchConfigurationHandler(){this._initSearchWidget()}async mapViewWatchHandler(){await this.mapView.when((()=>{this._initSearchWidget()}))}async componentWillLoad(){await this._initModules()}async componentDidLoad(){return this._initSearchWidget()}render(){return t(s,null,t("div",{class:"search-widget",ref:i=>{this._searchElement=i}}))}async _initModules(){const[i,t]=await a(["esri/widgets/Search","esri/layers/FeatureLayer"]);this.Search=i,this.FeatureLayer=t}_initSearchWidget(){if(this.mapView&&this._searchElement&&!this.searchWidget){let i={view:this.mapView,container:this._searchElement,searchTerm:this.searchTerm};if(this.searchConfiguration){const t=this._getSearchConfig(this.searchConfiguration,this.mapView);i=Object.assign({},t)}this.searchWidget=new this.Search(i),this.searchWidget.popupEnabled=this.popupEnabled,this.searchWidget.resultGraphicEnabled=this.resultGraphicEnabled}else this.searchWidget&&(this.searchWidget.view=this.mapView)}_getSearchConfig(i,t){const s=i.sources;return(null==s?void 0:s.length)>0?(i.includeDefaultSources=!1,s.forEach((i=>{var s,e;if(i.hasOwnProperty("layer")){const h=i,a=null===(s=h.layer)||void 0===s?void 0:s.id,o=a?t.map.findLayerById(a):null,n=null===(e=null==h?void 0:h.layer)||void 0===e?void 0:e.url;o?h.layer=o:n&&(h.layer=new this.FeatureLayer(n))}})),null==s||s.forEach((i=>{if(i.hasOwnProperty("locator")){const t=i;"ArcGIS World Geocoding Service"===(null==t?void 0:t.name)&&(t.outFields=t.outFields||["Addr_type","Match_addr","StAddr","City"],t.singleLineFieldName="SingleLine"),t.url=t.url,delete t.url}}))):i=Object.assign(Object.assign({},i),{includeDefaultSources:!0}),i}static get watchers(){return{searchConfiguration:["watchSearchConfigurationHandler"],mapView:["mapViewWatchHandler"]}}};p.style=":host{display:block}.search-widget{width:100% !important;border:1px solid var(--calcite-color-border-input)}";const u=class{constructor(t){i(this,t),this._widgets=[],this.basemapConfig=void 0,this.enableLegend=void 0,this.enableFloorFilter=void 0,this.enableFullscreen=void 0,this.enableSearch=void 0,this.enableBasemap=void 0,this.enableHome=void 0,this.enableSingleExpand=void 0,this.homeZoomToolsSize="m",this.layout="vertical",this.mapView=void 0,this.mapWidgetsSize="m",this.position="top-right",this.searchConfiguration=void 0,this.stackTools=!0,this.toolOrder=void 0,this._hasFloorInfo=!1,this._translations=void 0,this._showTools=!0,this._showBasemapWidget=!1,this._showFloorFilter=!1,this._showFullscreen=!1,this._showLegendWidget=!1,this._showSearchWidget=!1}async mapViewWatchHandler(){await this.mapView.when((()=>{var i,t;this._hasFloorInfo=null===(t=null===(i=this.mapView)||void 0===i?void 0:i.map)||void 0===t?void 0:t.floorInfo}))}async _showBasemapWidgetWatchHandler(i){i?this.mapView.ui.add(this._basemapElement.basemapWidget,{position:this.position,index:1}):this.mapView.ui.remove(this._basemapElement.basemapWidget)}async _showFloorFilterWatchHandler(i){const t=this._floorFilterElement.floorFilterWidget;i?this.mapView.ui.add(t,{position:this.position,index:1}):this.mapView.ui.remove(t)}async _showFullscreenWatchHandler(i){const t=this._fullscreenElement.fullscreenWidget;i?"ready"===t.viewModel.state&&t.viewModel.enter():"active"===t.viewModel.state&&t.viewModel.exit()}async _showLegendWidgetWatchHandler(i){i?this.mapView.ui.add(this._legendElement.legendWidget,{position:this.position,index:1}):this.mapView.ui.remove(this._legendElement.legendWidget)}async _showSearchWidgetWatchHandler(i){i?this.mapView.ui.add(this._searchElement.searchWidget,{position:this.position,index:1}):this.mapView.ui.remove(this._searchElement.searchWidget)}async componentWillLoad(){await this._getTranslations(),await this._initModules()}render(){this._setZoomToolsSize();const i=this._showTools?"":"display-none",e=this._showSearchWidget?"":"display-none",h=this._showBasemapWidget?"":"display-none",a=this._showLegendWidget?"":"display-none",o=this._showFloorFilter?"":"display-none",n=this._showFullscreen?"":"display-none",r=this.enableSingleExpand?"margin-top-1-2":"",l=this.toolOrder?this.toolOrder:["legend","search","fullscreen","floorfilter"],c=this.stackTools?"box-shadow":"";return t(s,null,t("div",{class:this.enableBasemap||this.enableFullscreen||this.enableLegend||this.enableSearch?"":"display-none"},this.enableSingleExpand?t("div",{class:"box-shadow"},this._getActionGroup(this._showTools?"chevrons-up":"chevrons-down",!1,this._showTools?this._translations.collapse:this._translations.expand,(()=>this._toggleTools()))):void 0,t("div",{class:`${r} ${c} ${i}`},this._getMapWidgets(l))),t("basemap-gallery",{basemapConfig:this.basemapConfig,class:h,mapView:this.mapView,ref:i=>{this._basemapElement=i}}),t("map-search",{class:e,mapView:this.mapView,ref:i=>{this._searchElement=i},resultGraphicEnabled:!0,searchConfiguration:this.searchConfiguration}),t("map-legend",{class:a,mapView:this.mapView,ref:i=>{this._legendElement=i}}),t("map-fullscreen",{class:n,mapView:this.mapView,onFullscreenStateChange:i=>this._fullscreenStateChange(i.detail),ref:i=>{this._fullscreenElement=i}}),t("floor-filter",{class:o,enabled:this.enableFloorFilter,mapView:this.mapView,ref:i=>{this._floorFilterElement=i}}))}async _initModules(){const[i]=await a(["esri/widgets/Expand"]);this.Expand=i}_setZoomToolsSize(){var i,t;const s=null===(i=document.getElementsByClassName("esri-zoom")[0])||void 0===i?void 0:i.children[0],e=null===(t=document.getElementsByClassName("esri-zoom")[0])||void 0===t?void 0:t.children[1];if(s&&e){const i="s"===this.homeZoomToolsSize?"32px":"m"===this.homeZoomToolsSize?"40px":"48px";s.style.width=i,s.style.height=i,e.style.width=i,e.style.height=i}}_getMapWidgets(i){const t=this._showFullscreen?"full-screen-exit":"full-screen",s=this._showFullscreen?this._translations.exitFullscreen:this._translations.enterFullscreen;return i.map((i=>{var e,h,a,o,n;switch(i){case"legend":return this.enableLegend&&this.enableSingleExpand?this._getActionGroup("legend",!1,this._translations.legend,(()=>this._showLegend())):this.enableLegend?this._getWidget(i,null===(e=this._legendElement)||void 0===e?void 0:e.legendWidget,!0):void 0;case"search":return this.enableSearch&&this.enableSingleExpand?this._getActionGroup("magnifying-glass",!1,this._translations.search,(()=>this._search())):this.enableSearch?this._getWidget(i,null===(h=this._searchElement)||void 0===h?void 0:h.searchWidget,!0):void 0;case"fullscreen":return this.enableFullscreen&&this.enableSingleExpand?this._getActionGroup(t,!1,s,(()=>this._expand())):this.enableFullscreen?this._getWidget(i,null===(a=this._fullscreenElement)||void 0===a?void 0:a.fullscreenWidget,!1):void 0;case"basemap":return this.enableBasemap&&this.enableSingleExpand?this._getActionGroup("basemap",!1,this._translations.basemap,(()=>this._toggleBasemapPicker())):this.enableBasemap?this._getWidget(i,null===(o=this._basemapElement)||void 0===o?void 0:o.basemapWidget,!0):void 0;case"floorfilter":return this.enableFloorFilter&&this._hasFloorInfo&&this.enableSingleExpand?this._getActionGroup("urban-model",!1,this._translations.floorFilter,(()=>this._toggleFloorFilter())):this.enableFloorFilter&&this._hasFloorInfo?this._getWidget(i,null===(n=this._floorFilterElement)||void 0===n?void 0:n.floorFilterWidget,!0):void 0}}))}_fullscreenStateChange(i){"ready"===i&&this._showFullscreen?this._showFullscreen=!1:"active"!==i||this._showFullscreen||(this._showFullscreen=!0)}_getActionGroup(i,s,e,h){return t("div",null,t("calcite-action",{alignment:"center",class:`${"s"===this.mapWidgetsSize?"square-32":"m"===this.mapWidgetsSize?"square-40":"square-48"} ${this.stackTools?"":"margin-bottom-1-2"} border-bottom ${this.stackTools?"":"box-shadow"}`,compact:!1,disabled:s,icon:i,id:i,onClick:h,scale:"s",text:""},t("calcite-icon",{icon:"cheveron-up",scale:"s",slot:"icon"})),t("calcite-tooltip",{label:"",placement:"trailing","reference-element":i},t("span",null,e)))}_getWidget(i,t,s){if(this._widgets.indexOf(i)<0&&this.mapView&&t){const e=this.toolOrder.indexOf(i),h=new this.Expand({view:this.mapView,content:t});this.mapView.ui.add(s?h:t,{position:this.position,index:e>-1?e+(this.enableHome?2:1):1}),this._widgets.push(i)}}_showLegend(){this._showLegendWidget=!this._showLegendWidget,this._showTools=!1}_search(){this._showSearchWidget=!this._showSearchWidget,this._showTools=!1}_toggleBasemapPicker(){this._showBasemapWidget=!this._showBasemapWidget,this._showTools=!1}_toggleFloorFilter(){this._showFloorFilter=!this._showFloorFilter,this._showTools=!1}_expand(){this._showFullscreen=!this._showFullscreen}_toggleTools(){this._showTools||(this._showBasemapWidget=!1,this._showSearchWidget=!1,this._showLegendWidget=!1,this._showFloorFilter=!1),this._showTools=!this._showTools}async _getTranslations(){const i=await o(this.el);this._translations=i[0]}get el(){return e(this)}static get watchers(){return{mapView:["mapViewWatchHandler"],_showBasemapWidget:["_showBasemapWidgetWatchHandler"],_showFloorFilter:["_showFloorFilterWatchHandler"],_showFullscreen:["_showFullscreenWatchHandler"],_showLegendWidget:["_showLegendWidgetWatchHandler"],_showSearchWidget:["_showSearchWidgetWatchHandler"]}}};u.style=":host{display:block}.display-none{display:none}.margin-top-1-2{margin-top:0.5rem}.square-32{width:32px;height:32px}.square-40{width:40px;height:40px}.square-48{width:48px;height:48px}.width-40{width:40px}.square-40-41{width:40px;height:41px}.border-bottom{border-bottom:1px solid var(--calcite-color-border-3)}.box-shadow{box-shadow:0 1px 2px rgba(0, 0, 0, 0.3)}.margin-bottom-1-2{margin-bottom:0.5rem}";export{n as basemap_gallery,r as floor_filter,l as map_fullscreen,c as map_legend,d as map_picker,p as map_search,u as map_tools}