@arcgis/core 4.33.0-next.20250529 → 4.33.0-next.20250531
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.
- package/applications/ExperienceBuilder/sketchUtils.d.ts +1 -0
- package/applications/ExperienceBuilder/sketchUtils.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{d2317b87aa2ac3ad97a6.js → 1dc1084eb34748a35d35.js} +1 -1
- package/assets/esri/core/workers/chunks/{1573c017fd9fc0fe7527.js → 248a198f97871a8d6dd6.js} +1 -1
- package/assets/esri/core/workers/chunks/2c9a228d8e53d688fe5e.js +1 -0
- package/assets/esri/core/workers/chunks/{08583c74b8c538aef4d5.js → 346781f07389074f6c12.js} +1 -1
- package/assets/esri/core/workers/chunks/5d3246b8fc50f9d9e2c4.js +1 -0
- package/assets/esri/core/workers/chunks/a61fa2853307830ec577.js +1 -0
- package/assets/esri/core/workers/chunks/{d9b2263e0a9f9068ab62.js → b6c3a2d93a59df9a1418.js} +1 -1
- package/assets/esri/core/workers/chunks/ba015f4f72714820a12f.js +1 -0
- package/assets/esri/core/workers/chunks/bbbd58b02a3ee8fe595e.js +1 -0
- package/assets/esri/core/workers/chunks/c3df693d1bce8f189fa2.js +1 -0
- package/assets/esri/core/workers/chunks/{355ab428a04ee9fcf888.js → e7bebf0d272cc3922982.js} +1 -1
- package/assets/esri/core/workers/chunks/{604d7250ed5e1edd59ac.js → f2863c501d62dece5fdd.js} +1 -1
- package/assets/esri/core/workers/chunks/{7112b092d98172b7db8b.js → f48eb59b94ba8b7d4d72.js} +1 -1
- package/assets/esri/core/workers/chunks/{b534a8d70018ce16400b.js → f9e1b73976027e17cd03.js} +1 -1
- package/assets/esri/core/workers/chunks/fe3832107278244dc04d.js +1 -0
- package/assets/esri/themes/base/widgets/_Directions.scss +1 -1
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/effects/FocusArea.js +1 -1
- package/interfaces.d.ts +46 -1
- package/layers/CatalogLayer.js +1 -1
- package/layers/GeoJSONLayer.js +1 -1
- package/layers/GroupLayer.js +1 -1
- package/layers/OGCFeatureLayer.js +1 -1
- package/layers/RouteLayer.js +1 -1
- package/layers/VideoLayer.js +1 -1
- package/layers/WFSLayer.js +1 -1
- package/layers/catalog/CatalogFootprintLayer.js +1 -1
- package/layers/graphics/editingSupport.js +1 -1
- package/layers/support/arcgisLayers.js +1 -1
- package/networks/CircuitManager.js +1 -1
- package/networks/UnitIdentifierManager.js +1 -1
- package/networks/UtilityNetwork.js +1 -1
- package/package.json +1 -1
- package/portal/PortalItem.js +1 -1
- package/portal/support/layersLoader.js +1 -1
- package/portal/support/portalLayers.js +1 -1
- package/rest/featureService/FeatureService.js +1 -1
- package/rest/networks/circuits/queryCircuits.js +1 -1
- package/rest/networks/circuits/support/QueryCircuitsParameters.js +1 -1
- package/rest/networks/unitIdentifiers/support/{QueryUnitIdentifiersParamters.js → QueryUnitIdentifiersParameters.js} +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/effects/EffectEnclosingPolygon.js +1 -1
- package/views/3d/webgl-engine/lib/Texture.js +1 -1
- package/views/layers/CatalogFootprintLayerView.js +1 -1
- package/webmap/utils.js +1 -1
- package/widgets/Attachments.js +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/Directions/css.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
- package/widgets/support/SelectionToolbar.js +1 -1
- package/widgets/support/Selector2D/SelectionOperation.js +1 -1
- package/widgets/support/Selector2D/selectorUtils.js +1 -1
- package/assets/esri/core/workers/chunks/109e5635c1b9a0929d16.js +0 -1
- package/assets/esri/core/workers/chunks/3a6ddff13bd47ed11798.js +0 -1
- package/assets/esri/core/workers/chunks/5617532299f73d186968.js +0 -1
- package/assets/esri/core/workers/chunks/b763292829aa4d3fab60.js +0 -1
- package/assets/esri/core/workers/chunks/c779335f5d5455c77a62.js +0 -1
- package/assets/esri/core/workers/chunks/c9fbada1e84981784f6c.js +0 -1
- package/assets/esri/core/workers/chunks/f0e7ca92f6d4d994337f.js +0 -1
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../intl.js";import{watch as t,on as r,initial as i}from"../../../core/reactiveUtils.js";import{stripHTML as s}from"../../../core/string.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{defaultHighlightName as a,temporaryHighlightName as n}from"../../../views/support/HighlightDefaults.js";import c from"../../Widget.js";import d from"../UtilityNetworkAssociationAddAssociationViewModel.js";import{loadCalciteComponents as p}from"../../support/componentsUtils.js";import u from"../../support/FilterBuilder.js";import{globalCss as h}from"../../support/globalCss.js";import{Heading as m}from"../../support/Heading.js";import _ from"../../support/SelectionToolbar.js";import"../../support/widgetUtils.js";import{messageBundle as f}from"../../support/decorators/messageBundle.js";import{tsx as v}from"../../support/jsxFactory.js";import g from"../../support/SelectionToolbar/VisibleElements.js";import{substitute as y}from"../../../intl/substitute.js";const b="esri-feature-form-utility-network-association-layers",F={base:b,header:`${b}__header`,headingContent:`${b}__heading-content`,featureObserver:`${b}__feature-observer`,filterContainer:`${b}__filter-container`,filterOptionsContainer:`${b}__filter-options-container`,filterOptionsHeader:`${b}__filter-options-header`,listContainer:`${b}__list-container`,spatialSelectContainer:`${b}__spatial-select-container`,spatialSelectToolbar:`${b}__spatial-select-toolbar`,stickySpinnerContainer:`${b}__sticky-loading-container`,loadingContainer:`${b}__loading-container`};let w=class extends c{constructor(e,t){super(e,t),this.headingLevel=5,this.messagesCommon=null,this.messagesEditor=null,this.messagesFeature=null,this.messagesFeatureForm=null,this.messagesFilterBuilder=null,this.viewModel=new d,this.view=null,this._filterBuilder=new u,this._featureFilterText="",this._layerFilterText="",this._observer=new IntersectionObserver((([e])=>{e?.isIntersecting&&this._increaseFeaturePage()}),{root:window.document}),this._observerNode=null,this._selectionToolbar=new _({layerViewPreferenceEnabled:!1,persistSelection:!1,visibleElements:new g({chip:!1,pan:!1})}),this._onSelectionComplete=async e=>{const{highlightHelper:t}=this.viewModel;await this.viewModel.onSelectionComplete(e),t?.removeAll(),this._featureSpatialGraphics.length>0&&t?.add(this._featureSpatialGraphics)}}initialize(){this._setupSelectionToolbar(),this.addHandles([t((()=>this.viewModel),(()=>this.reset())),t((()=>[this.viewModel.state,this._observerNode]),(()=>this._onObserverChange())),t((()=>this.selectedLayer),(e=>{this._filterBuilder.layer=e,e||(this.filterOptionsVisible=!1,this._featureFilterText="")}))])}loadDependencies(){return p({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),input:()=>import("@esri/calcite-components/dist/components/calcite-input"),list:()=>import("@esri/calcite-components/dist/components/calcite-list"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader")})}destroy(){this._filterBuilder.destroy(),this._selectionToolbar.destroy()}get filterOptionsVisible(){return this.viewModel.filterOptionsVisible}set filterOptionsVisible(e){this.viewModel.filterOptionsVisible=e}get isSelecting(){return"active"===this._selectionToolbar.state}get selectedLayer(){return this.viewModel.selectedLayer}set selectedLayer(e){this.viewModel.selectedLayer=e}get selectedFeature(){return this.viewModel.selectedFeature}set selectedFeature(e){this.viewModel.selectedFeature=e}get filterWhereClause(){return this.viewModel.filterWhereClause}set filterWhereClause(e){this.viewModel.filterWhereClause=e,e||this._filterBuilder.reset()}get _featureSpatialGraphics(){return this.viewModel.featureSpatialItems.toArray().map((e=>e.feature))}get _filteredFeatureItems(){const{_featureFilterText:e}=this,{featureItems:t,featureSpatialItems:r}=this.viewModel;return(r.length?r:t).map((e=>({label:e.label,graphic:e.feature,layer:e.feature.sourceLayer}))).filter((t=>t.label?.toLowerCase().includes(e)??!1))}get _filteredFeatureItemsPage(){const{featurePage:e,featuresPerPage:t}=this.viewModel,r=e*t;return this._filteredFeatureItems.toArray().slice(0,r)}render(){return v("div",{class:this.classes(F.base,h.widget)},this._renderContent())}applyFilterOptions(){const{selectedLayer:e}=this;this.filterOptionsVisible=!1,e&&(this.filterWhereClause=this._filterBuilder.whereClause)}cancelSelection(){this._selectionToolbar.cancel()}reset(){this.filterWhereClause=null,this._featureFilterText="",this._layerFilterText="",this.filterOptionsVisible=!1,this._filterBuilder.reset()}startSelection(e){this._selectionToolbar.activateTool(e)}_setupSelectionToolbar(){this.addHandles([t((()=>this.view),(e=>{this.viewModel.reset(),this._selectionToolbar.view="2d"===e?.type?e:null}),i),t((()=>[this.viewModel,this.viewModel.layerItems.length]),(()=>this._selectionToolbar.sources=this.viewModel.layerItems.toArray())),r((()=>this._selectionToolbar),"before-activate",(e=>this.emit("before-selection",e))),r((()=>this._selectionToolbar),"complete",this._onSelectionComplete)])}async _onObserverChange(){this._observerNode&&this._observer.unobserve(this._observerNode);const{state:e}=this.viewModel;this._observerNode&&"ready"===e&&this._observer.observe(this._observerNode)}_increaseFeaturePage(){const{featureCount:e,featurePage:t,featureSpatialItems:r,state:i}=this.viewModel;e||r.length||1===t?"ready"===i&&this.viewModel.featurePage++:this.viewModel.featurePage=1}_renderContent(){const{state:e,filterOptionsVisible:t}=this.viewModel;return"loading"===e?this._renderLoading():t?this._renderFilterOptions():[this._renderSelectionToolbar(),this._renderListContent()]}_renderListContent(){return this._selectionToolbar.activeOperation?.processingFinalSelection?this._renderLoading():this.selectedLayer||this.viewModel.featureSpatialItems.length?this._renderFeatures():this._renderLayers()}_renderSelectionToolbar(){const{messagesCommon:e,_selectionToolbar:t}=this,{featureSpatialItems:r,selectedLayer:i}=this.viewModel;if(i||!t.sources?.length)return null;const s=v("div",{class:F.spatialSelectToolbar},t.render()),o=v("calcite-button",{appearance:"transparent",disabled:!r.length,label:e.clear,onclick:()=>this.viewModel.reset()},e.clear);return v("div",{class:F.spatialSelectContainer,key:"spatial-select-toolbar"},s,o)}_renderStickyLoading(){return"querying"===this.viewModel.state?v("div",{class:F.stickySpinnerContainer,key:"sticky-loader"},this._renderLoadingIcon()):null}_renderLoading(){return v("div",{class:F.loadingContainer,key:"loading-container"},this._renderLoadingIcon())}_renderLoadingIcon(){return v("calcite-loader",{inline:!0,label:this.messagesCommon.loading})}_renderFilterOptions(){return v("div",{class:F.filterOptionsContainer},v("div",{class:F.filterOptionsHeader},v("span",null,this.messagesFilterBuilder.widgetLabel),v("calcite-button",{appearance:"transparent",onclick:()=>this._filterBuilder.reset()},this.messagesCommon.clear)),this._filterBuilder.render())}_renderLayers(){const e=this.messagesFeatureForm.associations,t=e.availableLayers,r=e.filterLayers;return v("div",null,this._renderHeader({heading:t,placeholder:r,renderFilterOptions:!1,renderTotal:!1}),v("div",{class:F.listContainer},v("calcite-list",{label:e.associatedFeatures},this._renderLayerItems(),this._renderStickyLoading())))}_renderLayerItems(){const{_layerFilterText:e,viewModel:t,messagesCommon:r}=this,{layerItems:i,tableItems:s}=t;return i.concat(s).map((e=>({label:e.title??r.untitled,layer:e}))).filter((t=>t.label?.toLowerCase().includes(e)??!1)).toArray().map((e=>this._renderLayerItem(e)))}_renderLayerItem(e){const{label:t,layer:r}=e;return v("calcite-list-item",{key:`layer-item-${r.id}`,label:s(t),onCalciteListItemSelect:()=>{this.selectedLayer=r,this._filterBuilder.reset()}},v("calcite-icon",{flipRtl:!0,icon:"chevron-right",scale:"s",slot:"content-end"}))}_renderFeatures(){const{selectedLayer:e,viewModel:t}=this,r=t.featureSpatialItems.length>0,i=this.messagesFeatureForm.associations,s=r?void 0:e?.title||this.messagesCommon.untitled,o=i.filterFeatures;return v("div",null,this._renderHeader({heading:s,placeholder:o,renderFilterOptions:!r,renderTotal:!0}),v("div",{class:F.listContainer},v("calcite-list",{label:i.associatedFeatures},this._renderFeatureItems(),this._renderStickyLoading(),this._renderFeatureObserver())))}_renderFeatureItems(){return this._filteredFeatureItemsPage.map((e=>this._renderFeatureItem(e)))}_renderFeatureItem(e){const{viewModel:t}=this,{highlightHelper:r}=t,{label:i,graphic:o}=e,l=t.featureSpatialItems.length>0?()=>r?.update(o,a):void 0,c=t.featureSpatialItems.length>0?()=>r?.update(o,n):void 0;return v("calcite-list-item",{key:`feature-item-${o.uid}`,label:s(i),onmouseenter:l,onmouseleave:c,onCalciteListItemSelect:()=>{this.selectedFeature={feature:o,label:i}}},v("calcite-icon",{flipRtl:!0,icon:"chevron-right",scale:"s",slot:"content-end"}))}_onObserverCreate(e){this._observerNode=e}_renderFeatureObserver(){return v("div",{afterCreate:this._onObserverCreate,bind:this,class:F.featureObserver,key:"feature-observer"})}_renderHeader(e){return v("div",{class:F.header,key:"filter"},this._renderHeading(e.heading),this._renderFilter(e.placeholder,e.renderFilterOptions),e.renderTotal?this._renderTotal():null)}_renderHeading(e){return e?v(m,{key:"title",level:this.headingLevel},v("div",{class:F.headingContent},v("calcite-icon",{icon:"layer"}),e)):null}_renderFilter(e,t){const r=!this.selectedLayer&&!this.viewModel.featureSpatialItems.length,i=r?this._layerFilterText:this._featureFilterText;return v("div",{class:F.filterContainer,key:"filter"},v("calcite-input",{icon:"search",placeholder:e,type:"search",value:i,onCalciteInputInput:e=>{r?this._layerFilterText=e.currentTarget.value.trim().toLowerCase():this._featureFilterText=e.currentTarget.value.trim().toLowerCase()}},t?this._renderFilterOptionsAction():null))}_renderFilterOptionsAction(){const e=this.messagesFeatureForm.associations.filterOptions;return v("calcite-action",{appearance:"transparent",icon:"sliders",indicator:!!this._filterBuilder.whereClause,onclick:()=>{this.viewModel.filterOptionsVisible=!this.viewModel.filterOptionsVisible},scale:"s",slot:"action",text:e,title:e})}_renderTotal(){const{messagesFeature:e,viewModel:t}=this,{featureCount:r,featureSpatialItems:i}=t,s=y(e.numberRecords,{number:i.length?i.length:r});return v("div",{key:"total"},s)}};e([o()],w.prototype,"filterOptionsVisible",null),e([o()],w.prototype,"headingLevel",void 0),e([o()],w.prototype,"isSelecting",null),e([o(),f("esri/t9n/common")],w.prototype,"messagesCommon",void 0),e([o(),f("esri/widgets/Editor/t9n/Editor")],w.prototype,"messagesEditor",void 0),e([o(),f("esri/widgets/Feature/t9n/Feature")],w.prototype,"messagesFeature",void 0),e([o(),f("esri/widgets/FeatureForm/t9n/FeatureForm")],w.prototype,"messagesFeatureForm",void 0),e([o(),f("esri/widgets/support/FilterBuilder/t9n/FilterBuilder")],w.prototype,"messagesFilterBuilder",void 0),e([o()],w.prototype,"selectedLayer",null),e([o({type:d})],w.prototype,"viewModel",void 0),e([o()],w.prototype,"selectedFeature",null),e([o()],w.prototype,"filterWhereClause",null),e([o()],w.prototype,"view",void 0),e([o()],w.prototype,"_filterBuilder",void 0),e([o()],w.prototype,"_featureFilterText",void 0),e([o()],w.prototype,"_layerFilterText",void 0),e([o()],w.prototype,"_observer",void 0),e([o()],w.prototype,"_featureSpatialGraphics",null),e([o()],w.prototype,"_filteredFeatureItems",null),e([o()],w.prototype,"_filteredFeatureItemsPage",null),e([o()],w.prototype,"_observerNode",void 0),w=e([l("esri.widgets.FeatureForm.FeatureFormUtilityNetworkAssociations.UtilityNetworkAssociationItemList")],w);const C=w;export{C as default};
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../intl.js";import{watch as t,on as r,initial as i}from"../../../core/reactiveUtils.js";import{stripHTML as s}from"../../../core/string.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{defaultHighlightName as a,temporaryHighlightName as n}from"../../../views/support/HighlightDefaults.js";import c from"../../Widget.js";import d from"../UtilityNetworkAssociationAddAssociationViewModel.js";import{loadCalciteComponents as u}from"../../support/componentsUtils.js";import p from"../../support/FilterBuilder.js";import{globalCss as h}from"../../support/globalCss.js";import{Heading as m}from"../../support/Heading.js";import _ from"../../support/SelectionToolbar.js";import"../../support/widgetUtils.js";import{messageBundle as f}from"../../support/decorators/messageBundle.js";import{tsx as v}from"../../support/jsxFactory.js";import g from"../../support/SelectionToolbar/VisibleElements.js";import{substitute as y}from"../../../intl/substitute.js";const b="esri-feature-form-utility-network-association-layers",F={base:b,header:`${b}__header`,headingContent:`${b}__heading-content`,featureObserver:`${b}__feature-observer`,filterContainer:`${b}__filter-container`,filterOptionsContainer:`${b}__filter-options-container`,filterOptionsHeader:`${b}__filter-options-header`,listContainer:`${b}__list-container`,spatialSelectContainer:`${b}__spatial-select-container`,spatialSelectToolbar:`${b}__spatial-select-toolbar`,stickySpinnerContainer:`${b}__sticky-loading-container`,loadingContainer:`${b}__loading-container`};let w=class extends c{constructor(e,t){super(e,t),this.headingLevel=5,this.messagesCommon=null,this.messagesEditor=null,this.messagesFeature=null,this.messagesFeatureForm=null,this.messagesFilterBuilder=null,this.viewModel=new d,this.view=null,this._filterBuilder=new p,this._featureFilterText="",this._layerFilterText="",this._observer=new IntersectionObserver((([e])=>{e?.isIntersecting&&this._increaseFeaturePage()}),{root:window.document}),this._observerNode=null,this._selectionToolbar=new _({returnFeatureTitleFields:!0,layerViewPreferenceEnabled:!1,persistSelection:!1,visibleElements:new g({chip:!1,pan:!1})}),this._onSelectionComplete=async e=>{const{highlightHelper:t}=this.viewModel;await this.viewModel.onSelectionComplete(e),t?.removeAll(),this._featureSpatialGraphics.length>0&&t?.add(this._featureSpatialGraphics)}}initialize(){this._setupSelectionToolbar(),this.addHandles([t((()=>this.viewModel),(()=>this.reset())),t((()=>[this.viewModel.state,this._observerNode]),(()=>this._onObserverChange())),t((()=>this.selectedLayer),(e=>{this._filterBuilder.layer=e,e||(this.filterOptionsVisible=!1,this._featureFilterText="")}))])}loadDependencies(){return u({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),input:()=>import("@esri/calcite-components/dist/components/calcite-input"),list:()=>import("@esri/calcite-components/dist/components/calcite-list"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader")})}destroy(){this._filterBuilder.destroy(),this._selectionToolbar.destroy()}get filterOptionsVisible(){return this.viewModel.filterOptionsVisible}set filterOptionsVisible(e){this.viewModel.filterOptionsVisible=e}get isSelecting(){return"active"===this._selectionToolbar.state}get selectedLayer(){return this.viewModel.selectedLayer}set selectedLayer(e){this.viewModel.selectedLayer=e}get selectedFeature(){return this.viewModel.selectedFeature}set selectedFeature(e){this.viewModel.selectedFeature=e}get filterWhereClause(){return this.viewModel.filterWhereClause}set filterWhereClause(e){this.viewModel.filterWhereClause=e,e||this._filterBuilder.reset()}get _featureSpatialGraphics(){return this.viewModel.featureSpatialItems.toArray().map((e=>e.feature))}get _filteredFeatureItems(){const{_featureFilterText:e}=this,{featureItems:t,featureSpatialItems:r}=this.viewModel;return(r.length?r:t).map((e=>({label:e.label,graphic:e.feature,layer:e.feature.sourceLayer}))).filter((t=>t.label?.toLowerCase().includes(e)??!1))}get _filteredFeatureItemsPage(){const{featurePage:e,featuresPerPage:t}=this.viewModel,r=e*t;return this._filteredFeatureItems.toArray().slice(0,r)}render(){return v("div",{class:this.classes(F.base,h.widget)},this._renderContent())}applyFilterOptions(){const{selectedLayer:e}=this;this.filterOptionsVisible=!1,e&&(this.filterWhereClause=this._filterBuilder.whereClause)}cancelSelection(){this._selectionToolbar.cancel()}reset(){this.filterWhereClause=null,this._featureFilterText="",this._layerFilterText="",this.filterOptionsVisible=!1,this._filterBuilder.reset()}startSelection(e){this._selectionToolbar.activateTool(e)}_setupSelectionToolbar(){this.addHandles([t((()=>this.view),(e=>{this.viewModel.reset(),this._selectionToolbar.view="2d"===e?.type?e:null}),i),t((()=>[this.viewModel,this.viewModel.layerItems.length]),(()=>this._selectionToolbar.sources=this.viewModel.layerItems.toArray())),r((()=>this._selectionToolbar),"before-activate",(e=>this.emit("before-selection",e))),r((()=>this._selectionToolbar),"complete",this._onSelectionComplete)])}async _onObserverChange(){this._observerNode&&this._observer.unobserve(this._observerNode);const{state:e}=this.viewModel;this._observerNode&&"ready"===e&&this._observer.observe(this._observerNode)}_increaseFeaturePage(){const{featureCount:e,featurePage:t,featureSpatialItems:r,state:i}=this.viewModel;e||r.length||1===t?"ready"===i&&this.viewModel.featurePage++:this.viewModel.featurePage=1}_renderContent(){const{state:e,filterOptionsVisible:t}=this.viewModel;return"loading"===e?this._renderLoading():t?this._renderFilterOptions():[this._renderSelectionToolbar(),this._renderListContent()]}_renderListContent(){return this._selectionToolbar.activeOperation?.processingFinalSelection?this._renderLoading():this.selectedLayer||this.viewModel.featureSpatialItems.length?this._renderFeatures():this._renderLayers()}_renderSelectionToolbar(){const{messagesCommon:e,_selectionToolbar:t}=this,{featureSpatialItems:r,selectedLayer:i}=this.viewModel;if(i||!t.sources?.length)return null;const s=v("div",{class:F.spatialSelectToolbar},t.render()),o=v("calcite-button",{appearance:"transparent",disabled:!r.length,label:e.clear,onclick:()=>this.viewModel.reset()},e.clear);return v("div",{class:F.spatialSelectContainer,key:"spatial-select-toolbar"},s,o)}_renderStickyLoading(){return"querying"===this.viewModel.state?v("div",{class:F.stickySpinnerContainer,key:"sticky-loader"},this._renderLoadingIcon()):null}_renderLoading(){return v("div",{class:F.loadingContainer,key:"loading-container"},this._renderLoadingIcon())}_renderLoadingIcon(){return v("calcite-loader",{inline:!0,label:this.messagesCommon.loading})}_renderFilterOptions(){return v("div",{class:F.filterOptionsContainer},v("div",{class:F.filterOptionsHeader},v("span",null,this.messagesFilterBuilder.widgetLabel),v("calcite-button",{appearance:"transparent",onclick:()=>this._filterBuilder.reset()},this.messagesCommon.clear)),this._filterBuilder.render())}_renderLayers(){const e=this.messagesFeatureForm.associations,t=e.availableLayers,r=e.filterLayers;return v("div",null,this._renderHeader({heading:t,placeholder:r,renderFilterOptions:!1,renderTotal:!1}),v("div",{class:F.listContainer},v("calcite-list",{label:e.associatedFeatures},this._renderLayerItems(),this._renderStickyLoading())))}_renderLayerItems(){const{_layerFilterText:e,viewModel:t,messagesCommon:r}=this,{layerItems:i,tableItems:s}=t;return i.concat(s).map((e=>({label:e.title??r.untitled,layer:e}))).filter((t=>t.label?.toLowerCase().includes(e)??!1)).toArray().map((e=>this._renderLayerItem(e)))}_renderLayerItem(e){const{label:t,layer:r}=e;return v("calcite-list-item",{key:`layer-item-${r.id}`,label:s(t),onCalciteListItemSelect:()=>{this.selectedLayer=r,this._filterBuilder.reset()}},v("calcite-icon",{flipRtl:!0,icon:"chevron-right",scale:"s",slot:"content-end"}))}_renderFeatures(){const{selectedLayer:e,viewModel:t}=this,r=t.featureSpatialItems.length>0,i=this.messagesFeatureForm.associations,s=r?void 0:e?.title||this.messagesCommon.untitled,o=i.filterFeatures;return v("div",null,this._renderHeader({heading:s,placeholder:o,renderFilterOptions:!r,renderTotal:!0}),v("div",{class:F.listContainer},v("calcite-list",{label:i.associatedFeatures},this._renderFeatureItems(),this._renderStickyLoading(),this._renderFeatureObserver())))}_renderFeatureItems(){return this._filteredFeatureItemsPage.map((e=>this._renderFeatureItem(e)))}_renderFeatureItem(e){const{viewModel:t}=this,{highlightHelper:r}=t,{label:i,graphic:o}=e,l=t.featureSpatialItems.length>0?()=>r?.update(o,a):void 0,c=t.featureSpatialItems.length>0?()=>r?.update(o,n):void 0;return v("calcite-list-item",{key:`feature-item-${o.uid}`,label:s(i),onmouseenter:l,onmouseleave:c,onCalciteListItemSelect:()=>{this.selectedFeature={feature:o,label:i}}},v("calcite-icon",{flipRtl:!0,icon:"chevron-right",scale:"s",slot:"content-end"}))}_onObserverCreate(e){this._observerNode=e}_renderFeatureObserver(){return v("div",{afterCreate:this._onObserverCreate,bind:this,class:F.featureObserver,key:"feature-observer"})}_renderHeader(e){return v("div",{class:F.header,key:"filter"},this._renderHeading(e.heading),this._renderFilter(e.placeholder,e.renderFilterOptions),e.renderTotal?this._renderTotal():null)}_renderHeading(e){return e?v(m,{key:"title",level:this.headingLevel},v("div",{class:F.headingContent},v("calcite-icon",{icon:"layer"}),e)):null}_renderFilter(e,t){const r=!this.selectedLayer&&!this.viewModel.featureSpatialItems.length,i=r?this._layerFilterText:this._featureFilterText;return v("div",{class:F.filterContainer,key:"filter"},v("calcite-input",{icon:"search",placeholder:e,type:"search",value:i,onCalciteInputInput:e=>{r?this._layerFilterText=e.currentTarget.value.trim().toLowerCase():this._featureFilterText=e.currentTarget.value.trim().toLowerCase()}},t?this._renderFilterOptionsAction():null))}_renderFilterOptionsAction(){const e=this.messagesFeatureForm.associations.filterOptions;return v("calcite-action",{appearance:"transparent",icon:"sliders",indicator:!!this._filterBuilder.whereClause,onclick:()=>{this.viewModel.filterOptionsVisible=!this.viewModel.filterOptionsVisible},scale:"s",slot:"action",text:e,title:e})}_renderTotal(){const{messagesFeature:e,viewModel:t}=this,{featureCount:r,featureSpatialItems:i}=t,s=y(e.numberRecords,{number:i.length?i.length:r});return v("div",{key:"total"},s)}};e([o()],w.prototype,"filterOptionsVisible",null),e([o()],w.prototype,"headingLevel",void 0),e([o()],w.prototype,"isSelecting",null),e([o(),f("esri/t9n/common")],w.prototype,"messagesCommon",void 0),e([o(),f("esri/widgets/Editor/t9n/Editor")],w.prototype,"messagesEditor",void 0),e([o(),f("esri/widgets/Feature/t9n/Feature")],w.prototype,"messagesFeature",void 0),e([o(),f("esri/widgets/FeatureForm/t9n/FeatureForm")],w.prototype,"messagesFeatureForm",void 0),e([o(),f("esri/widgets/support/FilterBuilder/t9n/FilterBuilder")],w.prototype,"messagesFilterBuilder",void 0),e([o()],w.prototype,"selectedLayer",null),e([o({type:d})],w.prototype,"viewModel",void 0),e([o()],w.prototype,"selectedFeature",null),e([o()],w.prototype,"filterWhereClause",null),e([o()],w.prototype,"view",void 0),e([o()],w.prototype,"_filterBuilder",void 0),e([o()],w.prototype,"_featureFilterText",void 0),e([o()],w.prototype,"_layerFilterText",void 0),e([o()],w.prototype,"_observer",void 0),e([o()],w.prototype,"_featureSpatialGraphics",null),e([o()],w.prototype,"_filteredFeatureItems",null),e([o()],w.prototype,"_filteredFeatureItemsPage",null),e([o()],w.prototype,"_observerNode",void 0),w=e([l("esri.widgets.FeatureForm.FeatureFormUtilityNetworkAssociations.UtilityNetworkAssociationItemList")],w);const C=w;export{C as default};
|
package/widgets/Sketch.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{isSome as t}from"../core/arrayUtils.js";import{handlesGroup as o}from"../core/handleUtils.js";import i from"../core/Logger.js";import{removeMaybe as s,destroyMaybe as l}from"../core/maybe.js";import{ignoreAbortErrors as r}from"../core/promiseUtils.js";import{watch as n,when as a,syncAndInitial as c}from"../core/reactiveUtils.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import u from"../views/interactive/sketch/SketchValueOptions.js";import h from"./Widget.js";import v from"./Sketch/SketchViewModel.js";import{VisibleElements as m}from"./Sketch/VisibleElements.js";import{LayoutPriority as g}from"./Sketch/support/sketchUtils.js";import f from"./Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js";import{loadCalciteComponents as _}from"./support/componentsUtils.js";import y from"./support/SelectionToolbar.js";import b from"./support/SketchTooltipControls.js";import w from"./support/SnappingControls.js";import"./support/widgetUtils.js";import{messageBundle as T}from"./support/decorators/messageBundle.js";import{vmEvent as M}from"./support/decorators/vmEvent.js";import{tsx as C}from"./support/jsxFactory.js";import O from"./support/SelectionToolbar/VisibleElements.js";import S from"./support/SketchTooltipControls/VisibleElements.js";import{substitute as k}from"../intl/substitute.js";const P="esri-sketch",I={base:P,vertical:`${P}--vertical`,docked:`${P}-bar`,floating:`${P}-pad`,chipHorizontal:`${P}__selection-count-chip--horizontal`,chipVertical:`${P}__selection-count-chip--vertical`,chipVerticalSmall:`${P}__selection-count-chip--vertical--s`,popoverWrapper:`${P}__popover-wrapper`},R={point:"pin",polyline:"line",polygon:"polygon",rectangle:"rectangle",circle:"circle",multipoint:"pins",mesh:"i3d-building",freehandPolygon:"freehand-area",freehandPolyline:"freehand"};let E=class extends h{constructor(e,t){super(e,t),this._activeCustomToolOptions=null,this._selectionToolbar=null,this._viewModelHandlesGroup=null,this.availableCreateTools=["point","polyline","polygon","rectangle","circle"],this.customToolOptions=null,this.customActions=null,this.toolbarKind="floating",this.contextualToolLocation="separate",this.groupCollapsePriorities=null,this.messages=null,this.messagesCommon=null,this.visibleElements=new m,this._defaultViewModel=null,this._calcitePopoverReferenceElement=null,this._relativeLocation="top",this._popoverOpen=!1,this._activateCreateTool=this._activateCreateTool.bind(this),this.viewModel=e?.viewModel||(this._defaultViewModel=new v({creationMode:e?.creationMode??"continuous"}))}initialize(){const{layer:e,view:t}=this,i="2d"===t?.type,l=new y({persistSelection:!1,visibleElements:new O({chip:!1,pan:!1,pointTool:!1,lassoTool:i,rectangleTool:i}),view:t,sources:e?[e]:null,scale:this.scale});this.addHandles([n((()=>this.viewModel),(e=>{this._viewModelHandlesGroup=s(this._viewModelHandlesGroup),e&&(this._viewModelHandlesGroup=o([e.on("create",(()=>this.scheduleRender())),e.on("update",(()=>this.scheduleRender())),e.on("delete",(e=>this.emit("delete",e))),e.on("undo",(()=>this.scheduleRender())),e.on("redo",(()=>this.scheduleRender())),n((()=>e.layer),(e=>{this._selectionToolbar&&(this._selectionToolbar.sources=e?[e]:null)})),n((()=>e.view),(e=>{this._selectionToolbar&&(this._selectionToolbar.view=e)})),n((()=>e.state),(()=>this.notifyChange("state")))]))}),c),a((()=>l.activeOperation),(()=>this.viewModel.cancel())),l.on("complete",(e=>this._onSelectionOperationComplete(e))),n((()=>{const{view:e,visibleElements:{selectionTools:t}}=this;return{lassoTool:"3d"!==e?.type&&!!t?.["lasso-selection"],rectangleTool:"3d"!==e?.type&&!!t?.["rectangle-selection"]}}),(e=>{Object.assign(l.visibleElements,e)}),c)]),this._selectionToolbar=l}loadDependencies(){return _({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),chip:()=>import("@esri/calcite-components/dist/components/calcite-chip"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover")})}destroy(){this._selectionToolbar?.destroy(),this._viewModelHandlesGroup=s(this._viewModelHandlesGroup)}get activeTool(){const e=this._selectionToolbar?.activeOperation;if(e)switch(e.name){case"lasso":return"lasso-selection";case"rectangle":return"rectangle-selection";case"default":return"custom-selection"}const t=this._effectiveAvailableCreateTools,{activeTool:o,activeCreateToolDrawMode:i}=this.viewModel;return"polygon"===o&&"freehand"===i&&t?.includes("freehandPolygon")?"freehandPolygon":"polyline"===o&&"freehand"===i&&t?.includes("freehandPolyline")?"freehandPolyline":this.viewModel.activeTool}get activeTooltip(){return this.viewModel.activeTooltip}get createGraphic(){return this.viewModel.createGraphic}get creationMode(){return this.viewModel.creationMode}set creationMode(e){this.viewModel.creationMode=e}get defaultCreateOptions(){return this.viewModel.defaultCreateOptions}set defaultCreateOptions(e){this.viewModel.defaultCreateOptions=e}get defaultUpdateOptions(){return this.viewModel.defaultUpdateOptions}set defaultUpdateOptions(e){this.viewModel.defaultUpdateOptions=e}get icon(){return"pencil"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get labelOptions(){return this.viewModel.labelOptions}set labelOptions(e){this.viewModel.labelOptions=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}set layout(e){this._set("layout",e),this._selectionToolbar&&(this._selectionToolbar.layout=e)}set scale(e){this._set("scale",e),this._selectionToolbar&&(this._selectionToolbar.scale=e)}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get state(){return this._selectionToolbar?.activeOperation?"active":this.viewModel.state}get tooltipOptions(){return this.viewModel.tooltipOptions}set tooltipOptions(e){this.viewModel.tooltipOptions=e}get updateGraphics(){return this.viewModel.updateGraphics}get valueOptions(){return this.viewModel.valueOptions}set valueOptions(e){this.viewModel.valueOptions=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set viewModel(e){const t=this._get("viewModel");e!==t&&(t&&t===this._defaultViewModel&&l(t),this._set("viewModel",e))}get _effectiveAvailableCreateTools(){const{availableCreateTools:e,view:t,visibleElements:o}=this,i=e?.filter((e=>!!o.createTools?.[e]));return"3d"===t?.type?i?.filter((e=>"multipoint"!==e)):i}create(e,t,o){const i=o?.createOptions??t;return this._activeCustomToolOptions=o,r(this.viewModel.create(e,i))}update(e,t){return r(this.viewModel.update(e,t))}complete(){this.viewModel.complete()}cancel(){this._selectionToolbar?.cancel(),this.viewModel.cancel(),this._activeCustomToolOptions=null}undo(){this.viewModel.undo(),this.view?.focus()}redo(){this.viewModel.redo(),this.view?.focus()}delete(){this.viewModel.delete()}duplicate(){return this.viewModel.duplicate()}dismissFloatingElements(){this._popoverOpen=!1}render(){const{toolbarKind:e,layout:t,scale:o}=this,i=this.customActions?.filter((e=>"selection-toolbar"===e.position));return C("div",null,C("div",{classes:{[I.base]:!0,[I.floating]:"floating"===e,[I.docked]:"docked"===e,[I.vertical]:"vertical"===t}},C(f,{barStyle:e,layout:t,scale:o},this._renderSelectionSetItemGroupInline(),C("div",{"group-kind":"split-button",key:"selection-split-button",priority:this.groupCollapsePriorities?.get("selectionTools")??g.Low},this._renderDefaultSelectionButton(),this._selectionToolbar?.render(),i?.map((e=>this._renderToolbarItem(e)))),this._renderCreateToolActionGroup(),this._renderUndoRedoMenuItemGroup(),this._renderSettingsMenuItemGroup()),this._renderSelectionSetToolbar(),this._renderSettingsMenuPopover()))}_renderSettingsMenuPopover(){const{messagesCommon:e,snappingOptions:t,view:o,viewModel:i,visibleElements:s}=this;if(!this._calcitePopoverReferenceElement)return;const l={directionModePicker:s.directionModePicker,labelsToggle:s.labelsToggle,tooltipsToggle:s.tooltipsToggle},r="horizontal"===this.layout?"top"===this._relativeLocation?"bottom-end":"top-end":"right-end";return C("calcite-popover",{closable:!0,focusTrapDisabled:!0,heading:e.settings,label:e.settings,open:this._popoverOpen,overlayPositioning:"fixed",placement:r,referenceElement:this._calcitePopoverReferenceElement,scale:this.scale,onCalcitePopoverBeforeClose:()=>this._popoverOpen=!1,onCalcitePopoverBeforeOpen:e=>this._remeasurePopoverSizes(e.currentTarget),onCalcitePopoverClose:()=>this._refocusOnView()},C("div",{class:I.popoverWrapper},Object.values(l).includes(!0)?C(b,{sketchOptions:i.sketchOptions,viewType:o?.type,visibleElements:new S(l)}):void 0,s.snappingControls&&o&&t?C(w,{snappingManager:this.viewModel.snappingManager,snappingOptions:t,view:o,visibleElements:s.snappingControlsElements}):void 0))}_renderSelectionSetToolbar(){if("separate"!==this.contextualToolLocation)return;const e=this._renderSelectionSetItemGroup();return e?.length?C(f,{barStyle:this.toolbarKind,layout:this.layout,scale:this.scale},e):void 0}_renderSelectionSetItemGroupInline(){return"separate"===this.contextualToolLocation?[]:this._renderSelectionSetItemGroup()}_renderUndoRedoMenuItemGroup(){return C("div",{"group-kind":"split-button",key:"undo-redo-menu",priority:this.groupCollapsePriorities?.get("undoRedo")??g.Medium,slot:"actions-end"},this._renderUndoButton(),this._renderRedoButton())}_renderSettingsMenuItemGroup(){const e=[],o=[];this.customActions?.forEach((t=>{"settings-before"===t.position?o.push(t):"settings-after"===t.position&&e.push(t)}));const i=[...o.map((e=>this._renderToolbarItem(e))),this._renderSettingsMenuButton(),...e.map((e=>this._renderToolbarItem(e)))].filter(t);if(i.length)return C("div",{"allow-collapse":!1,"group-kind":"overflow-group",key:"settings-menu",priority:this.groupCollapsePriorities?.get("settings")??g.Max,slot:"actions-end"},i)}_renderSelectionSetItemGroup(){if(!this.updateGraphics.length)return[];const e="inline-end"===this.contextualToolLocation?"actions-end":void 0,t=this.customActions?.filter((e=>"before-selection-set"===e.position)),o=this.customActions?.filter((e=>"after-selection-set"===e.position)),i=this.groupCollapsePriorities?.get("selectionSet")??g.High;return[C("div",{"group-kind":"measured-content",key:"selection-count-chip-group",priority:i,slot:e},this._renderFeatureCountChip()),C("div",{"allow-collapse":!1,"group-kind":"overflow-group",key:"selection-set-tool-group",priority:i,slot:e},t?.map((e=>this._renderToolbarItem(e))),this._renderDuplicateButton(),this._renderDeleteButton(),o?.map((e=>this._renderToolbarItem(e))))]}_renderDefaultSelectionButton(){if(!this.viewModel.updateOnGraphicClick)return[];const{messages:e,state:t}=this;return this._renderToolbarItem({id:"pointer-select",text:e.selectFeature,icon:"cursor",onclick:this._activateDefaultSelectTool,active:"ready"===t})}_renderCreateToolActionGroup(){const e=this._effectiveAvailableCreateTools?.flatMap((e=>this._renderBuiltInCreateToolItem(e)))??[],t=this.customToolOptions?.flatMap((e=>this._renderCustomToolItem(e)))??[];return C("div",{"group-kind":"overflow-group",key:"create-tools-group",priority:this.groupCollapsePriorities?.get("createTools")??g.High},e,t)}_renderBuiltInCreateToolItem(e){return this._renderToolbarItem({id:`${e}-button`,text:this.messages.draw[e],icon:R[e],onclick:()=>this._activateCreateTool(e),active:this.activeTool===e&&!this._activeCustomToolOptions})}_renderCustomToolItem(e){const{toolKey:t}=e;return this._renderToolbarItem({id:`custom-${e.toolKey}`,text:e.label,icon:e.icon,onclick:()=>this._activateCreateTool(e.toolName,null,e),active:this._activeCustomToolOptions?.toolKey===t})}_renderUndoButton(){return this.visibleElements.undoRedoMenu?this._renderToolbarItem({id:"undo-button",text:this.messages.undo,icon:"undo",disabled:!this.viewModel.canUndo(),onclick:this.undo,flipRTL:!0}):[]}_renderRedoButton(){return this.visibleElements.undoRedoMenu?this._renderToolbarItem({id:"redo-button",text:this.messages.redo,icon:"redo",disabled:!this.viewModel.canRedo(),onclick:this.redo,flipRTL:!0}):[]}_renderSettingsMenuButton(){return this.visibleElements.settingsMenu?this._renderToolbarItem({id:"settings-menu-action",text:this.messagesCommon.settings,icon:"gear",active:this._popoverOpen,onclick:()=>this._popoverOpen=!this._popoverOpen,afterCreate:e=>this._calcitePopoverReferenceElement=e,afterUpdate:e=>this._calcitePopoverReferenceElement=e,afterRemoved:()=>this._calcitePopoverReferenceElement=null}):[]}_renderFeatureCountChip(){if(!this.visibleElements.selectionCountLabel)return[];const{layout:e,messages:t,scale:o,id:i,updateGraphics:{length:s}}=this,l=k(t.selectedCount,{count:s}),r="s"===o?99:999,n=s>r?k(t.selectedCountTruncated,{truncated:r}):s,a="s"===o&&"vertical"===e,c=a?`${i}-selection-chip-small`:`${i}-selection-chip`;return[a?C("span",{classes:{[I.chipVertical]:!0,[I.chipVerticalSmall]:"s"===this.scale},id:c,tabIndex:0,title:l},n):C("calcite-chip",{appearance:"outline",class:"horizontal"===e?I.chipHorizontal:I.chipVertical,id:c,kind:"brand",label:l,scale:"l"===o?"m":"s",tabIndex:0,title:"vertical"===e?l:void 0},"vertical"===e?n:l)]}_renderDuplicateButton(){if(!this.visibleElements.duplicateButton)return[];const{messages:e}=this;return this._renderToolbarItem({id:"duplicate",text:this.updateGraphics.length>1?e.duplicateFeatures:e.duplicateFeature,icon:"copy",onclick:this._onDuplicateSelect})}_renderDeleteButton(){if(!this.visibleElements.deleteButton)return[];const{messages:e}=this,t=this.updateGraphics.length>1?e.deleteFeatures:e.deleteFeature;return this._renderToolbarItem({id:"delete",text:t,icon:"trash",onclick:this.delete})}_renderToolbarItem({id:e,text:t,icon:o,disabled:i,onclick:s,active:l,flipRTL:r,afterCreate:n,afterUpdate:a,afterRemoved:c}){const p=`${this.id}-${e}`;return[C("calcite-action",{active:l,afterCreate:n,afterRemoved:c,afterUpdate:a,bind:this,"data-testid":e,disabled:i||"disabled"===this.state,icon:o,iconFlipRtl:r??!1,id:p,key:e,onclick:s,scale:this.scale,text:t,title:t})]}_remeasurePopoverSizes(e){try{const t=e.parentElement,o=this?.view?.container?.getBoundingClientRect(),i=t?.style;if(!(t&&o&&i&&this.view?.container?.contains(t)))return;const s=this._calcitePopoverReferenceElement;if(!s)return;const{bottom:l,top:r}=s.getBoundingClientRect();if("horizontal"===this.layout){const e=l<o.height/2;e!==("top"===this._relativeLocation)&&(this._relativeLocation=e?"top":"bottom"),e?(i?.setProperty("--sketch-view-height-offset",l-o.top+"px"),i?.setProperty("--sketch-view-margin-offset","30px")):(i?.setProperty("--sketch-view-height-offset",o.bottom-r+"px"),i?.setProperty("--sketch-view-margin-offset","15px"))}else"vertical"===this.layout&&(i.setProperty("--sketch-view-height-offset","15px"),i.setProperty("--sketch-view-margin-offset","15px"));const n=e.shadowRoot?.querySelector("div.header")?.getBoundingClientRect().height;i.setProperty("--sketch-popover-header-offset",`${n}px`)}catch(t){i.getLogger(this.declaredClass).warnOnce("Sketch failed to lay out settings menu.",t)}}_activateCreateTool(e,t,o){const i=this._activeCustomToolOptions;if(o||i){if(o?.toolKey===i?.toolKey)return void this.cancel()}else if(this.activeTool===e)return void this.cancel();this._selectionToolbar?.cancel(),this.create(e,t,o)}_onDuplicateSelect(){const e=this.duplicate(),t=this.viewModel.activeTool;"transform"!==t&&"reshape"!==t||this.update(e,{tool:t})}_onSelectionOperationComplete(e){const{viewModel:{defaultUpdateOptions:t}}=this,{selection:o}=e;if(!e.aborted&&o.length){const e=t.tool,i=o.length>1&&"reshape"===e?"transform":e;this.update(o,{...t,tool:i})}this.notifyChange("state")}_activateDefaultSelectTool(){this.cancel(),this.view?.focus()}_refocusOnView(){this.activeTool&&this.view?.focus()}};e([p()],E.prototype,"_activeCustomToolOptions",void 0),e([p()],E.prototype,"activeTool",null),e([p({readOnly:!0})],E.prototype,"activeTooltip",null),e([p({cast:e=>{if(!e?.length)return null;const t=new Set(["point","polyline","polygon","rectangle","circle","multipoint","freehandPolyline","freehandPolygon","mesh"]);return e.filter((e=>t.has(e)))}})],E.prototype,"availableCreateTools",void 0),e([p({readOnly:!0})],E.prototype,"createGraphic",null),e([p()],E.prototype,"creationMode",null),e([p()],E.prototype,"customToolOptions",void 0),e([p()],E.prototype,"customActions",void 0),e([p()],E.prototype,"defaultCreateOptions",null),e([p()],E.prototype,"defaultUpdateOptions",null),e([p()],E.prototype,"icon",null),e([p()],E.prototype,"label",null),e([p()],E.prototype,"labelOptions",null),e([p()],E.prototype,"layer",null),e([p({type:["horizontal","vertical"],value:"horizontal"})],E.prototype,"layout",null),e([p({value:"m"})],E.prototype,"scale",null),e([p()],E.prototype,"toolbarKind",void 0),e([p()],E.prototype,"contextualToolLocation",void 0),e([p()],E.prototype,"groupCollapsePriorities",void 0),e([p(),T("esri/widgets/Sketch/t9n/Sketch")],E.prototype,"messages",void 0),e([p(),T("esri/t9n/common")],E.prototype,"messagesCommon",void 0),e([p()],E.prototype,"snappingOptions",null),e([p()],E.prototype,"state",null),e([p()],E.prototype,"tooltipOptions",null),e([p({readOnly:!0})],E.prototype,"updateGraphics",null),e([p({type:u,nonNullable:!0})],E.prototype,"valueOptions",null),e([p()],E.prototype,"view",null),e([p({type:v}),M(["create","update","undo","redo"])],E.prototype,"viewModel",null),e([p({type:m,nonNullable:!0})],E.prototype,"visibleElements",void 0),e([p()],E.prototype,"_effectiveAvailableCreateTools",null),e([p()],E.prototype,"_defaultViewModel",void 0),e([p()],E.prototype,"_calcitePopoverReferenceElement",void 0),e([p()],E.prototype,"_relativeLocation",void 0),e([p()],E.prototype,"_popoverOpen",void 0),E=e([d("esri.widgets.Sketch")],E);const j=E;export{j as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{isSome as t}from"../core/arrayUtils.js";import{handlesGroup as o}from"../core/handleUtils.js";import i from"../core/Logger.js";import{removeMaybe as s,destroyMaybe as l}from"../core/maybe.js";import{ignoreAbortErrors as r}from"../core/promiseUtils.js";import{watch as n,when as a,syncAndInitial as p}from"../core/reactiveUtils.js";import{property as c}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import u from"../views/interactive/sketch/SketchValueOptions.js";import h from"./Widget.js";import v from"./Sketch/SketchViewModel.js";import{VisibleElements as m}from"./Sketch/VisibleElements.js";import{LayoutPriority as g}from"./Sketch/support/sketchUtils.js";import f from"./Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js";import{loadCalciteComponents as _}from"./support/componentsUtils.js";import y from"./support/SelectionToolbar.js";import b from"./support/SketchTooltipControls.js";import w from"./support/SnappingControls.js";import"./support/widgetUtils.js";import{messageBundle as T}from"./support/decorators/messageBundle.js";import{vmEvent as M}from"./support/decorators/vmEvent.js";import{tsx as C}from"./support/jsxFactory.js";import O from"./support/SelectionToolbar/VisibleElements.js";import S from"./support/SketchTooltipControls/VisibleElements.js";import{substitute as k}from"../intl/substitute.js";const P="esri-sketch",I={base:P,vertical:`${P}--vertical`,docked:`${P}-bar`,floating:`${P}-pad`,chipHorizontal:`${P}__selection-count-chip--horizontal`,chipVertical:`${P}__selection-count-chip--vertical`,chipVerticalSmall:`${P}__selection-count-chip--vertical--s`,popoverWrapper:`${P}__popover-wrapper`},R={point:"pin",polyline:"line",polygon:"polygon",rectangle:"rectangle",circle:"circle",multipoint:"pins",mesh:"i3d-building",freehandPolygon:"freehand-area",freehandPolyline:"freehand"};let E=class extends h{constructor(e,t){super(e,t),this._activeCustomToolOptions=null,this._selectionToolbar=null,this._viewModelHandlesGroup=null,this.availableCreateTools=["point","polyline","polygon","rectangle","circle"],this.customToolOptions=null,this.customActions=null,this.toolbarKind="floating",this.contextualToolLocation="separate",this.groupCollapsePriorities=null,this.groupAllowCollapseOptions=null,this.messages=null,this.messagesCommon=null,this.visibleElements=new m,this._defaultViewModel=null,this._calcitePopoverReferenceElement=null,this._relativeLocation="top",this._popoverOpen=!1,this._activateCreateTool=this._activateCreateTool.bind(this),this.viewModel=e?.viewModel||(this._defaultViewModel=new v({creationMode:e?.creationMode??"continuous"}))}initialize(){const{layer:e,view:t}=this,i="2d"===t?.type,l=new y({persistSelection:!1,visibleElements:new O({chip:!1,pan:!1,pointTool:!1,lassoTool:i,rectangleTool:i}),view:t,sources:e?[e]:null,scale:this.scale});this.addHandles([n((()=>this.viewModel),(e=>{this._viewModelHandlesGroup=s(this._viewModelHandlesGroup),e&&(this._viewModelHandlesGroup=o([e.on("create",(()=>this.scheduleRender())),e.on("update",(()=>this.scheduleRender())),e.on("delete",(e=>this.emit("delete",e))),e.on("undo",(()=>this.scheduleRender())),e.on("redo",(()=>this.scheduleRender())),n((()=>e.layer),(e=>{this._selectionToolbar&&(this._selectionToolbar.sources=e?[e]:null)})),n((()=>e.view),(e=>{this._selectionToolbar&&(this._selectionToolbar.view=e)})),n((()=>e.state),(()=>this.notifyChange("state")))]))}),p),a((()=>l.activeOperation),(()=>this.viewModel.cancel())),l.on("complete",(e=>this._onSelectionOperationComplete(e))),n((()=>{const{view:e,visibleElements:{selectionTools:t}}=this;return{lassoTool:"3d"!==e?.type&&!!t?.["lasso-selection"],rectangleTool:"3d"!==e?.type&&!!t?.["rectangle-selection"]}}),(e=>{Object.assign(l.visibleElements,e)}),p)]),this._selectionToolbar=l}loadDependencies(){return _({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),chip:()=>import("@esri/calcite-components/dist/components/calcite-chip"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover")})}destroy(){this._selectionToolbar?.destroy(),this._viewModelHandlesGroup=s(this._viewModelHandlesGroup)}get activeTool(){const e=this._selectionToolbar?.activeOperation;if(e)switch(e.name){case"lasso":return"lasso-selection";case"rectangle":return"rectangle-selection";case"default":return"custom-selection"}const t=this._effectiveAvailableCreateTools,{activeTool:o,activeCreateToolDrawMode:i}=this.viewModel;return"polygon"===o&&"freehand"===i&&t?.includes("freehandPolygon")?"freehandPolygon":"polyline"===o&&"freehand"===i&&t?.includes("freehandPolyline")?"freehandPolyline":this.viewModel.activeTool}get activeTooltip(){return this.viewModel.activeTooltip}get createGraphic(){return this.viewModel.createGraphic}get creationMode(){return this.viewModel.creationMode}set creationMode(e){this.viewModel.creationMode=e}get defaultCreateOptions(){return this.viewModel.defaultCreateOptions}set defaultCreateOptions(e){this.viewModel.defaultCreateOptions=e}get defaultUpdateOptions(){return this.viewModel.defaultUpdateOptions}set defaultUpdateOptions(e){this.viewModel.defaultUpdateOptions=e}get icon(){return"pencil"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get labelOptions(){return this.viewModel.labelOptions}set labelOptions(e){this.viewModel.labelOptions=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}set layout(e){this._set("layout",e),this._selectionToolbar&&(this._selectionToolbar.layout=e)}set scale(e){this._set("scale",e),this._selectionToolbar&&(this._selectionToolbar.scale=e)}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get state(){return this._selectionToolbar?.activeOperation?"active":this.viewModel.state}get tooltipOptions(){return this.viewModel.tooltipOptions}set tooltipOptions(e){this.viewModel.tooltipOptions=e}get updateGraphics(){return this.viewModel.updateGraphics}get valueOptions(){return this.viewModel.valueOptions}set valueOptions(e){this.viewModel.valueOptions=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set viewModel(e){const t=this._get("viewModel");e!==t&&(t&&t===this._defaultViewModel&&l(t),this._set("viewModel",e))}get _effectiveAvailableCreateTools(){const{availableCreateTools:e,view:t,visibleElements:o}=this,i=e?.filter((e=>!!o.createTools?.[e]));return"3d"===t?.type?i?.filter((e=>"multipoint"!==e)):i}create(e,t,o){const i=o?.createOptions??t;return this._activeCustomToolOptions=o,r(this.viewModel.create(e,i))}update(e,t){return r(this.viewModel.update(e,t))}complete(){this.viewModel.complete()}cancel(){this._selectionToolbar?.cancel(),this.viewModel.cancel(),this._activeCustomToolOptions=null}undo(){this.viewModel.undo(),this.view?.focus()}redo(){this.viewModel.redo(),this.view?.focus()}delete(){this.viewModel.delete()}duplicate(){return this.viewModel.duplicate()}dismissFloatingElements(){this._popoverOpen=!1}render(){const{toolbarKind:e,layout:t,scale:o}=this,i=this.customActions?.filter((e=>"selection-toolbar"===e.position));return C("div",null,C("div",{classes:{[I.base]:!0,[I.floating]:"floating"===e,[I.docked]:"docked"===e,[I.vertical]:"vertical"===t}},C(f,{barStyle:e,layout:t,scale:o},this._renderSelectionSetItemGroupInline(),C("div",{"allow-collapse":this.groupAllowCollapseOptions?.get("selectionTools")??!0,"group-kind":"split-button",key:"selection-split-button",priority:this.groupCollapsePriorities?.get("selectionTools")??g.Low},this._renderDefaultSelectionButton(),this._selectionToolbar?.render(),i?.map((e=>this._renderToolbarItem(e)))),this._renderCreateToolActionGroup(),this._renderUndoRedoMenuItemGroup(),this._renderSettingsMenuItemGroup()),this._renderSelectionSetToolbar(),this._renderSettingsMenuPopover()))}_renderSettingsMenuPopover(){const{messagesCommon:e,snappingOptions:t,view:o,viewModel:i,visibleElements:s}=this;if(!this._calcitePopoverReferenceElement)return;const l={directionModePicker:s.directionModePicker,labelsToggle:s.labelsToggle,tooltipsToggle:s.tooltipsToggle},r="horizontal"===this.layout?"top"===this._relativeLocation?"bottom-end":"top-end":"right-end";return C("calcite-popover",{closable:!0,focusTrapDisabled:!0,heading:e.settings,label:e.settings,open:this._popoverOpen,overlayPositioning:"fixed",placement:r,referenceElement:this._calcitePopoverReferenceElement,scale:this.scale,onCalcitePopoverBeforeClose:()=>this._popoverOpen=!1,onCalcitePopoverBeforeOpen:e=>this._remeasurePopoverSizes(e.currentTarget),onCalcitePopoverClose:()=>this._refocusOnView()},C("div",{class:I.popoverWrapper},Object.values(l).includes(!0)?C(b,{sketchOptions:i.sketchOptions,viewType:o?.type,visibleElements:new S(l)}):void 0,s.snappingControls&&o&&t?C(w,{snappingManager:this.viewModel.snappingManager,snappingOptions:t,view:o,visibleElements:s.snappingControlsElements}):void 0))}_renderSelectionSetToolbar(){if("separate"!==this.contextualToolLocation)return;const e=this._renderSelectionSetItemGroup();return e?.length?C(f,{barStyle:this.toolbarKind,layout:this.layout,scale:this.scale},e):void 0}_renderSelectionSetItemGroupInline(){return"separate"===this.contextualToolLocation?[]:this._renderSelectionSetItemGroup()}_renderUndoRedoMenuItemGroup(){return C("div",{"allow-collapse":this.groupAllowCollapseOptions?.get("undoRedo")??!0,"group-kind":"split-button",key:"undo-redo-menu",priority:this.groupCollapsePriorities?.get("undoRedo")??g.Medium,slot:"actions-end"},this._renderUndoButton(),this._renderRedoButton())}_renderSettingsMenuItemGroup(){const e=[],o=[];this.customActions?.forEach((t=>{"settings-before"===t.position?o.push(t):"settings-after"===t.position&&e.push(t)}));const i=[...o.map((e=>this._renderToolbarItem(e))),this._renderSettingsMenuButton(),...e.map((e=>this._renderToolbarItem(e)))].filter(t);if(i.length)return C("div",{"allow-collapse":this.groupAllowCollapseOptions?.get("settings")??!1,"group-kind":"overflow-group",key:"settings-menu",priority:this.groupCollapsePriorities?.get("settings")??g.Max,slot:"actions-end"},i)}_renderSelectionSetItemGroup(){if(!this.updateGraphics.length)return[];const e="inline-end"===this.contextualToolLocation?"actions-end":void 0,t=this.customActions?.filter((e=>"before-selection-set"===e.position)),o=this.customActions?.filter((e=>"after-selection-set"===e.position)),i=this.groupCollapsePriorities?.get("selectionSet")??g.High;return[C("div",{"group-kind":"measured-content",key:"selection-count-chip-group",priority:i,slot:e},this._renderFeatureCountChip()),C("div",{"allow-collapse":this.groupAllowCollapseOptions?.get("selectionSet")??!1,"group-kind":"overflow-group",key:"selection-set-tool-group",priority:i,slot:e},t?.map((e=>this._renderToolbarItem(e))),this._renderDuplicateButton(),this._renderDeleteButton(),o?.map((e=>this._renderToolbarItem(e))))]}_renderDefaultSelectionButton(){if(!this.viewModel.updateOnGraphicClick)return[];const{messages:e,state:t}=this;return this._renderToolbarItem({id:"pointer-select",text:e.selectFeature,icon:"cursor",onclick:this._activateDefaultSelectTool,active:"ready"===t})}_renderCreateToolActionGroup(){const e=this._effectiveAvailableCreateTools?.flatMap((e=>this._renderBuiltInCreateToolItem(e)))??[],t=this.customToolOptions?.flatMap((e=>this._renderCustomToolItem(e)))??[];return C("div",{"allow-collapse":this.groupAllowCollapseOptions?.get("createTools")??!0,"group-kind":"overflow-group",key:"create-tools-group",priority:this.groupCollapsePriorities?.get("createTools")??g.High},e,t)}_renderBuiltInCreateToolItem(e){return this._renderToolbarItem({id:`${e}-button`,text:this.messages.draw[e],icon:R[e],onclick:()=>this._activateCreateTool(e),active:this.activeTool===e&&!this._activeCustomToolOptions})}_renderCustomToolItem(e){const{toolKey:t}=e;return this._renderToolbarItem({id:`custom-${e.toolKey}`,text:e.label,icon:e.icon,onclick:()=>this._activateCreateTool(e.toolName,null,e),active:this._activeCustomToolOptions?.toolKey===t})}_renderUndoButton(){return this.visibleElements.undoRedoMenu?this._renderToolbarItem({id:"undo-button",text:this.messages.undo,icon:"undo",disabled:!this.viewModel.canUndo(),onclick:this.undo,flipRTL:!0}):[]}_renderRedoButton(){return this.visibleElements.undoRedoMenu?this._renderToolbarItem({id:"redo-button",text:this.messages.redo,icon:"redo",disabled:!this.viewModel.canRedo(),onclick:this.redo,flipRTL:!0}):[]}_renderSettingsMenuButton(){return this.visibleElements.settingsMenu?this._renderToolbarItem({id:"settings-menu-action",text:this.messagesCommon.settings,icon:"gear",active:this._popoverOpen,onclick:()=>this._popoverOpen=!this._popoverOpen,afterCreate:e=>this._calcitePopoverReferenceElement=e,afterUpdate:e=>this._calcitePopoverReferenceElement=e,afterRemoved:()=>this._calcitePopoverReferenceElement=null}):[]}_renderFeatureCountChip(){if(!this.visibleElements.selectionCountLabel)return[];const{layout:e,messages:t,scale:o,id:i,updateGraphics:{length:s}}=this,l=k(t.selectedCount,{count:s}),r="s"===o?99:999,n=s>r?k(t.selectedCountTruncated,{truncated:r}):s,a="s"===o&&"vertical"===e,p=a?`${i}-selection-chip-small`:`${i}-selection-chip`;return[a?C("span",{classes:{[I.chipVertical]:!0,[I.chipVerticalSmall]:"s"===this.scale},id:p,tabIndex:0,title:l},n):C("calcite-chip",{appearance:"outline",class:"horizontal"===e?I.chipHorizontal:I.chipVertical,id:p,kind:"brand",label:l,scale:"l"===o?"m":"s",tabIndex:0,title:"vertical"===e?l:void 0},"vertical"===e?n:l)]}_renderDuplicateButton(){if(!this.visibleElements.duplicateButton)return[];const{messages:e}=this;return this._renderToolbarItem({id:"duplicate",text:this.updateGraphics.length>1?e.duplicateFeatures:e.duplicateFeature,icon:"copy",onclick:this._onDuplicateSelect})}_renderDeleteButton(){if(!this.visibleElements.deleteButton)return[];const{messages:e}=this,t=this.updateGraphics.length>1?e.deleteFeatures:e.deleteFeature;return this._renderToolbarItem({id:"delete",text:t,icon:"trash",onclick:this.delete})}_renderToolbarItem({id:e,text:t,icon:o,disabled:i,onclick:s,active:l,flipRTL:r,afterCreate:n,afterUpdate:a,afterRemoved:p}){const c=`${this.id}-${e}`;return[C("calcite-action",{active:l,afterCreate:n,afterRemoved:p,afterUpdate:a,bind:this,"data-testid":e,disabled:i||"disabled"===this.state,icon:o,iconFlipRtl:r??!1,id:c,key:e,onclick:s,scale:this.scale,text:t,title:t})]}_remeasurePopoverSizes(e){try{const t=e.parentElement,o=this?.view?.container?.getBoundingClientRect(),i=t?.style;if(!(t&&o&&i&&this.view?.container?.contains(t)))return;const s=this._calcitePopoverReferenceElement;if(!s)return;const{bottom:l,top:r}=s.getBoundingClientRect();if("horizontal"===this.layout){const e=l<o.height/2;e!==("top"===this._relativeLocation)&&(this._relativeLocation=e?"top":"bottom"),e?(i?.setProperty("--sketch-view-height-offset",l-o.top+"px"),i?.setProperty("--sketch-view-margin-offset","30px")):(i?.setProperty("--sketch-view-height-offset",o.bottom-r+"px"),i?.setProperty("--sketch-view-margin-offset","15px"))}else"vertical"===this.layout&&(i.setProperty("--sketch-view-height-offset","15px"),i.setProperty("--sketch-view-margin-offset","15px"));const n=e.shadowRoot?.querySelector("div.header")?.getBoundingClientRect().height;i.setProperty("--sketch-popover-header-offset",`${n}px`)}catch(t){i.getLogger(this.declaredClass).warnOnce("Sketch failed to lay out settings menu.",t)}}_activateCreateTool(e,t,o){const i=this._activeCustomToolOptions;if(o||i){if(o?.toolKey===i?.toolKey)return void this.cancel()}else if(this.activeTool===e)return void this.cancel();this._selectionToolbar?.cancel(),this.create(e,t,o)}_onDuplicateSelect(){const e=this.duplicate(),t=this.viewModel.activeTool;"transform"!==t&&"reshape"!==t||this.update(e,{tool:t})}_onSelectionOperationComplete(e){const{viewModel:{defaultUpdateOptions:t}}=this,{selection:o}=e;if(!e.aborted&&o.length){const e=t.tool,i=o.length>1&&"reshape"===e?"transform":e;this.update(o,{...t,tool:i})}this.notifyChange("state")}_activateDefaultSelectTool(){this.cancel(),this.view?.focus()}_refocusOnView(){this.activeTool&&this.view?.focus()}};e([c()],E.prototype,"_activeCustomToolOptions",void 0),e([c()],E.prototype,"activeTool",null),e([c({readOnly:!0})],E.prototype,"activeTooltip",null),e([c({cast:e=>{if(!e?.length)return null;const t=new Set(["point","polyline","polygon","rectangle","circle","multipoint","freehandPolyline","freehandPolygon","mesh"]);return e.filter((e=>t.has(e)))}})],E.prototype,"availableCreateTools",void 0),e([c({readOnly:!0})],E.prototype,"createGraphic",null),e([c()],E.prototype,"creationMode",null),e([c()],E.prototype,"customToolOptions",void 0),e([c()],E.prototype,"customActions",void 0),e([c()],E.prototype,"defaultCreateOptions",null),e([c()],E.prototype,"defaultUpdateOptions",null),e([c()],E.prototype,"icon",null),e([c()],E.prototype,"label",null),e([c()],E.prototype,"labelOptions",null),e([c()],E.prototype,"layer",null),e([c({type:["horizontal","vertical"],value:"horizontal"})],E.prototype,"layout",null),e([c({value:"m"})],E.prototype,"scale",null),e([c()],E.prototype,"toolbarKind",void 0),e([c()],E.prototype,"contextualToolLocation",void 0),e([c()],E.prototype,"groupCollapsePriorities",void 0),e([c()],E.prototype,"groupAllowCollapseOptions",void 0),e([c(),T("esri/widgets/Sketch/t9n/Sketch")],E.prototype,"messages",void 0),e([c(),T("esri/t9n/common")],E.prototype,"messagesCommon",void 0),e([c()],E.prototype,"snappingOptions",null),e([c()],E.prototype,"state",null),e([c()],E.prototype,"tooltipOptions",null),e([c({readOnly:!0})],E.prototype,"updateGraphics",null),e([c({type:u,nonNullable:!0})],E.prototype,"valueOptions",null),e([c()],E.prototype,"view",null),e([c({type:v}),M(["create","update","undo","redo"])],E.prototype,"viewModel",null),e([c({type:m,nonNullable:!0})],E.prototype,"visibleElements",void 0),e([c()],E.prototype,"_effectiveAvailableCreateTools",null),e([c()],E.prototype,"_defaultViewModel",void 0),e([c()],E.prototype,"_calcitePopoverReferenceElement",void 0),e([c()],E.prototype,"_relativeLocation",void 0),e([c()],E.prototype,"_popoverOpen",void 0),E=e([d("esri.widgets.Sketch")],E);const j=E;export{j as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{deprecatedProperty as t}from"../../../core/deprecate.js";import o from"../../../core/Evented.js";import{handlesGroup as i}from"../../../core/handleUtils.js";import s from"../../../core/Logger.js";import{removeMaybe as r}from"../../../core/maybe.js";import{watch as n}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{isKnowledgeGraphLayer as c,isLinkChartLayer as p}from"../../../layers/support/layerUtils.js";import{findLayerView as u}from"../../../views/draw/support/layerUtils.js";import{isSelectableLayerView2D as h}from"../../../views/support/layerViewUtils.js";import d from"../Selector2D/SelectionOperation.js";let f=class extends o.EventedAccessor{constructor(e){super(e),this._operationHandlesGroup=null,this.continuousSelectionEnabled=!1,this.activeOperation=null,this.defaultLassoToolOptions={createTool:"polygon",mode:"hybrid",name:"lasso"},this.defaultPointToolOptions={createTool:"point",name:"point"},this.defaultRectangleToolOptions={createTool:"rectangle",name:"rectangle"},this.layerViewPreferenceEnabled=!0,this.persistSelection=!0,this.selectionManager=null,this.returnGeometry=!0,this.selectOnComplete=!0,this.sources=null,this.toolConfigs=[]}initialize(){this.addHandles([n((()=>this.effectiveSources),(e=>{this.activeOperation&&(this.activeOperation.sources=e)}))])}destroy(){this._operationHandlesGroup=r(this._operationHandlesGroup)}get effectiveSelectionManager(){return this.selectionManager??this.view?.selectionManager}get effectiveSources(){const{layerViewPreferenceEnabled:e,sources:t,view:o}=this,i=t??this.effectiveSelectionManager?.sources;if(!i?.length)return[];const s=[];return i.forEach((t=>{if(h(t))s.push(t);else if(c(t)||p(t)){(t.layers||[]).forEach((t=>{const i=o?u(o,t):void 0,r=e&&h(i)?i:t;s.push(r)}))}else if(e){const e=o?u(o,t):void 0,i=h(e)?e:t;s.push(i)}else s.push(t)})),s}get layers(){return t(s.getLogger(this),"layers",{replacement:"Use SelectionToolbar.sources instead."}),this.sources}set layers(e){t(s.getLogger(this),"layers",{replacement:"Use SelectionToolbar.sources instead."}),this.sources=e}get state(){return this.activeOperation?"active":this.view?.ready&&this.effectiveSources.length?"ready":"disabled"}activate(e){const{state:t}=this,o=e?.view||this.view,r=e?.sources||this.effectiveSources;if("disabled"===t||!o)return void s.getLogger(this).warn("Unable to start selection operation.");"active"===t&&this.cancel();const n=new CustomEvent("before-activate",{cancelable:!0,detail:{toolName:e?.name??null}});if(this.emit("before-activate",n),n.defaultPrevented)return;const a={persistSelection:this.persistSelection,returnGeometry:this.returnGeometry,selectOnComplete:this.selectOnComplete,selectionManager:this.effectiveSelectionManager,...e,sources:r,view:o},l=new d({...a});return this._operationHandlesGroup=i([l.on("selection-change",(e=>this.emit("selection-change",e))),l.once("complete",(e=>this._onOperationComplete(e,a)))]),this._set("activeOperation",l),l}activateTool(e){this.cancel();const t=this._getToolOptions(e);if(t)return this.activate(t);s.getLogger(this).warn("Unable to activate tool: unable to determine options.")}cancel(){this.activeOperation?.cancel(),this._set("activeOperation",null)}toggleTool(e){const{activeOperation:t}=this;if(t){const o=t.name;if(this.cancel(),o===e)return}return this.activateTool(e)}_onOperationComplete(e,t){this._operationHandlesGroup=r(this._operationHandlesGroup),this._set("activeOperation",null),this.emit("complete",e),this.continuousSelectionEnabled&&!e.aborted&&this.activate(t)}_getToolOptions(e){const t=this.toolConfigs.find((t=>t.toolName===e));return t||("lasso"===e?this.defaultLassoToolOptions:"point"===e?this.defaultPointToolOptions:"rectangle"===e?this.defaultRectangleToolOptions:void 0)}};e([a()],f.prototype,"continuousSelectionEnabled",void 0),e([a({readOnly:!0})],f.prototype,"activeOperation",void 0),e([a()],f.prototype,"defaultLassoToolOptions",void 0),e([a()],f.prototype,"defaultPointToolOptions",void 0),e([a()],f.prototype,"defaultRectangleToolOptions",void 0),e([a()],f.prototype,"effectiveSelectionManager",null),e([a()],f.prototype,"effectiveSources",null),e([a()],f.prototype,"layers",null),e([a()],f.prototype,"layerViewPreferenceEnabled",void 0),e([a()],f.prototype,"persistSelection",void 0),e([a()],f.prototype,"selectionManager",void 0),e([a()],f.prototype,"returnGeometry",void 0),e([a()],f.prototype,"selectOnComplete",void 0),e([a()],f.prototype,"sources",void 0),e([a({readOnly:!0})],f.prototype,"state",null),e([a()],f.prototype,"toolConfigs",void 0),e([a()],f.prototype,"view",void 0),f=e([l("esri.widgets.support.SelectionToolbar.SelectionToolbarViewModel")],f);const v=f;export{v as default};
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{deprecatedProperty as t}from"../../../core/deprecate.js";import o from"../../../core/Evented.js";import{handlesGroup as i}from"../../../core/handleUtils.js";import s from"../../../core/Logger.js";import{removeMaybe as r}from"../../../core/maybe.js";import{watch as n}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{isKnowledgeGraphLayer as c,isLinkChartLayer as p}from"../../../layers/support/layerUtils.js";import{findLayerView as u}from"../../../views/draw/support/layerUtils.js";import{isSelectableLayerView2D as h}from"../../../views/support/layerViewUtils.js";import d from"../Selector2D/SelectionOperation.js";let f=class extends o.EventedAccessor{constructor(e){super(e),this._operationHandlesGroup=null,this.continuousSelectionEnabled=!1,this.activeOperation=null,this.defaultLassoToolOptions={createTool:"polygon",mode:"hybrid",name:"lasso"},this.defaultPointToolOptions={createTool:"point",name:"point"},this.defaultRectangleToolOptions={createTool:"rectangle",name:"rectangle"},this.layerViewPreferenceEnabled=!0,this.persistSelection=!0,this.selectionManager=null,this.returnFeatureTitleFields=!1,this.returnGeometry=!0,this.selectOnComplete=!0,this.sources=null,this.toolConfigs=[]}initialize(){this.addHandles([n((()=>this.effectiveSources),(e=>{this.activeOperation&&(this.activeOperation.sources=e)}))])}destroy(){this._operationHandlesGroup=r(this._operationHandlesGroup)}get effectiveSelectionManager(){return this.selectionManager??this.view?.selectionManager}get effectiveSources(){const{layerViewPreferenceEnabled:e,sources:t,view:o}=this,i=t??this.effectiveSelectionManager?.sources;if(!i?.length)return[];const s=[];return i.forEach((t=>{if(h(t))s.push(t);else if(c(t)||p(t)){(t.layers||[]).forEach((t=>{const i=o?u(o,t):void 0,r=e&&h(i)?i:t;s.push(r)}))}else if(e){const e=o?u(o,t):void 0,i=h(e)?e:t;s.push(i)}else s.push(t)})),s}get layers(){return t(s.getLogger(this),"layers",{replacement:"Use SelectionToolbar.sources instead."}),this.sources}set layers(e){t(s.getLogger(this),"layers",{replacement:"Use SelectionToolbar.sources instead."}),this.sources=e}get state(){return this.activeOperation?"active":this.view?.ready&&this.effectiveSources.length?"ready":"disabled"}activate(e){const{state:t}=this,o=e?.view||this.view,r=e?.sources||this.effectiveSources;if("disabled"===t||!o)return void s.getLogger(this).warn("Unable to start selection operation.");"active"===t&&this.cancel();const n=new CustomEvent("before-activate",{cancelable:!0,detail:{toolName:e?.name??null}});if(this.emit("before-activate",n),n.defaultPrevented)return;const a={persistSelection:this.persistSelection,returnFeatureTitleFields:this.returnFeatureTitleFields,returnGeometry:this.returnGeometry,selectOnComplete:this.selectOnComplete,selectionManager:this.effectiveSelectionManager,...e,sources:r,view:o},l=new d({...a});return this._operationHandlesGroup=i([l.on("selection-change",(e=>this.emit("selection-change",e))),l.once("complete",(e=>this._onOperationComplete(e,a)))]),this._set("activeOperation",l),l}activateTool(e){this.cancel();const t=this._getToolOptions(e);if(t)return this.activate(t);s.getLogger(this).warn("Unable to activate tool: unable to determine options.")}cancel(){this.activeOperation?.cancel(),this._set("activeOperation",null)}toggleTool(e){const{activeOperation:t}=this;if(t){const o=t.name;if(this.cancel(),o===e)return}return this.activateTool(e)}_onOperationComplete(e,t){this._operationHandlesGroup=r(this._operationHandlesGroup),this._set("activeOperation",null),this.emit("complete",e),this.continuousSelectionEnabled&&!e.aborted&&this.activate(t)}_getToolOptions(e){const t=this.toolConfigs.find((t=>t.toolName===e));return t||("lasso"===e?this.defaultLassoToolOptions:"point"===e?this.defaultPointToolOptions:"rectangle"===e?this.defaultRectangleToolOptions:void 0)}};e([a()],f.prototype,"continuousSelectionEnabled",void 0),e([a({readOnly:!0})],f.prototype,"activeOperation",void 0),e([a()],f.prototype,"defaultLassoToolOptions",void 0),e([a()],f.prototype,"defaultPointToolOptions",void 0),e([a()],f.prototype,"defaultRectangleToolOptions",void 0),e([a()],f.prototype,"effectiveSelectionManager",null),e([a()],f.prototype,"effectiveSources",null),e([a()],f.prototype,"layers",null),e([a()],f.prototype,"layerViewPreferenceEnabled",void 0),e([a()],f.prototype,"persistSelection",void 0),e([a()],f.prototype,"selectionManager",void 0),e([a()],f.prototype,"returnFeatureTitleFields",void 0),e([a()],f.prototype,"returnGeometry",void 0),e([a()],f.prototype,"selectOnComplete",void 0),e([a()],f.prototype,"sources",void 0),e([a({readOnly:!0})],f.prototype,"state",null),e([a()],f.prototype,"toolConfigs",void 0),e([a()],f.prototype,"view",void 0),f=e([l("esri.widgets.support.SelectionToolbar.SelectionToolbarViewModel")],f);const v=f;export{v as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import{deprecatedProperty as t}from"../../core/deprecate.js";import{handlesGroup as o}from"../../core/handleUtils.js";import i from"../../core/Logger.js";import{removeMaybe as s}from"../../core/maybe.js";import{on as l}from"../../core/reactiveUtils.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import a from"../Widget.js";import{loadCalciteComponents as c}from"./componentsUtils.js";import{globalCss as d}from"./globalCss.js";import"./widgetUtils.js";import{messageBundle as p}from"./decorators/messageBundle.js";import{tsx as u}from"./jsxFactory.js";import h from"./SelectionToolbar/SelectionToolbarViewModel.js";import v from"./SelectionToolbar/VisibleElements.js";import{formatNumber as m}from"../../intl/number.js";const f="esri-selection-toolbar",g={base:f,container:`${f}__container`,toolButton:`${f}__tool-button`};let b=class extends a{constructor(e,t){super(e,t),this._viewModelHandlesGroup=null,this.disabled=!1,this.layout="horizontal",this.messages=null,this.scale="s",this.viewModel=new h,this.visibleElements=new v}initialize(){this._viewModelHandlesGroup=o([l((()=>this.viewModel),"before-activate",(e=>this.emit("before-activate",e))),l((()=>this.viewModel),"complete",(e=>this.emit("complete",e))),l((()=>this.viewModel),"selection-change",(e=>this.emit("selection-change",e)))])}destroy(){this._viewModelHandlesGroup=s(this._viewModelHandlesGroup)}loadDependencies(){return c({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar"),chip:()=>import("@esri/calcite-components/dist/components/calcite-chip")})}get _effectiveDisabled(){return this.disabled||"disabled"===this.state}get activeOperation(){return this.viewModel.activeOperation}get continuousSelectionEnabled(){return this.viewModel.continuousSelectionEnabled}set continuousSelectionEnabled(e){this.viewModel.continuousSelectionEnabled=e}get defaultLassoToolOptions(){return this.viewModel.defaultLassoToolOptions}set defaultLassoToolOptions(e){this.viewModel.defaultLassoToolOptions=e}get defaultPointToolOptions(){return this.viewModel.defaultPointToolOptions}set defaultPointToolOptions(e){this.viewModel.defaultPointToolOptions=e}get defaultRectangleToolOptions(){return this.viewModel.defaultRectangleToolOptions}set defaultRectangleToolOptions(e){this.viewModel.defaultRectangleToolOptions=e}get effectiveSelectionManager(){return this.viewModel.effectiveSelectionManager}get effectiveSources(){return this.viewModel.effectiveSources}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get layers(){return t(i.getLogger(this),"layers",{replacement:"Use SelectionToolbar.sources instead."}),this.viewModel.sources}set layers(e){t(i.getLogger(this),"layers",{replacement:"Use SelectionToolbar.sources instead."}),this.viewModel.sources=e}get layerViewPreferenceEnabled(){return this.viewModel.layerViewPreferenceEnabled}set layerViewPreferenceEnabled(e){this.viewModel.layerViewPreferenceEnabled=e}get persistSelection(){return this.viewModel.persistSelection}set persistSelection(e){this.viewModel.persistSelection=e}get returnGeometry(){return this.viewModel.returnGeometry}set returnGeometry(e){this.viewModel.returnGeometry=e}get selectOnComplete(){return this.viewModel.selectOnComplete}set selectOnComplete(e){this.viewModel.selectOnComplete=e}get selectionManager(){return this.viewModel.selectionManager}set selectionManager(e){this.viewModel.selectionManager=e}get state(){return this.viewModel.state}get sources(){return this.viewModel.sources}set sources(e){this.viewModel.sources=e}get toolConfigs(){return this.viewModel.toolConfigs}set toolConfigs(e){this.viewModel.toolConfigs=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visibleToolCount(){const{visibleElements:e}=this;return this.toolConfigs.length+(e.lassoTool?1:0)+(e.rectangleTool?1:0)}activate(e){if(this.cancel(),!this._effectiveDisabled)return this.viewModel.activate(e)}activateTool(e){if(!this._effectiveDisabled)return this.viewModel.activateTool(e)}cancel(){this.viewModel.cancel()}toggleTool(e){if(!this._effectiveDisabled)return this.viewModel.toggleTool(e)}render(){return u("div",{"aria-label":this.label,class:this.classes(g.base,d.widget)},u("div",{class:g.container},u("calcite-action-bar",{expandDisabled:!0,layout:"horizontal",scale:this.scale},this._renderDefaultTools(),this._renderCustomTools(),this._renderChip())))}_renderDefaultTools(){return[this._renderPanAction(),this._renderPointTool(),this._renderRectangleTool(),this._renderLassoTool()]}_renderPanAction(){if(!this.visibleElements.pan)return;const e=this.messages.pan,t=`${this.id}-tool-pan`;return this._renderAction({active:!this.activeOperation,disabled:this._effectiveDisabled,icon:"pan",id:t,key:t,onclick:()=>this.cancel(),text:e,title:e})}_renderChip(){if(!this.visibleElements.chip)return;const{effectiveSelectionManager:e}=this,t=e?.count??0,o=m(t);return u("calcite-chip",{appearance:"outline",closable:t>0,closed:0===t,disabled:this._effectiveDisabled||0===t,label:o,scale:this.scale,slot:"actions-end",title:this.messages.clearSelection,onCalciteChipClose:()=>e?.clear()},o)}_renderCustomTools(){return this.toolConfigs.map((({toolName:e,icon:t,toolKey:o})=>this._renderToolWithTooltip(e,o,t)))}_renderPointTool(){if(this.visibleElements.pointTool)return this._renderToolWithTooltip("point","point","selection-set",this.messages.selectByPoint)}_renderLassoTool(){if(this.visibleElements.lassoTool)return this._renderToolWithTooltip("lasso","lasso","lasso-select",this.messages.selectByLasso)}_renderRectangleTool(){if(this.visibleElements.rectangleTool)return this._renderToolWithTooltip("rectangle","rectangle","cursor-marquee",this.messages.selectByRectangle)}_renderToolWithTooltip(e,t,o,i=e){const s=`${this.id}-tool-${t}`;return this._renderAction({active:this.activeOperation?.name===e,disabled:this._effectiveDisabled,icon:o||"selection",id:s,key:s,onclick:()=>this.toggleTool(e),text:i,title:i})}_renderAction(e){return u("calcite-action",{...e,bind:this,class:g.toolButton,scale:this.scale})}};e([r()],b.prototype,"_effectiveDisabled",null),e([r()],b.prototype,"activeOperation",null),e([r()],b.prototype,"continuousSelectionEnabled",null),e([r()],b.prototype,"defaultLassoToolOptions",null),e([r()],b.prototype,"defaultPointToolOptions",null),e([r()],b.prototype,"defaultRectangleToolOptions",null),e([r()],b.prototype,"disabled",void 0),e([r()],b.prototype,"effectiveSelectionManager",null),e([r()],b.prototype,"effectiveSources",null),e([r()],b.prototype,"label",null),e([r()],b.prototype,"layers",null),e([r()],b.prototype,"layerViewPreferenceEnabled",null),e([r()],b.prototype,"layout",void 0),e([r(),p("esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar")],b.prototype,"messages",void 0),e([r()],b.prototype,"persistSelection",null),e([r()],b.prototype,"returnGeometry",null),e([r()],b.prototype,"selectOnComplete",null),e([r()],b.prototype,"scale",void 0),e([r()],b.prototype,"selectionManager",null),e([r()],b.prototype,"state",null),e([r()],b.prototype,"sources",null),e([r()],b.prototype,"toolConfigs",null),e([r()],b.prototype,"view",null),e([r()],b.prototype,"viewModel",void 0),e([r({type:v,nonNullable:!0})],b.prototype,"visibleElements",void 0),e([r()],b.prototype,"visibleToolCount",null),b=e([n("esri.widgets.support.SelectionToolbar")],b);const w=b;export{w as default};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import{deprecatedProperty as t}from"../../core/deprecate.js";import{handlesGroup as o}from"../../core/handleUtils.js";import i from"../../core/Logger.js";import{removeMaybe as s}from"../../core/maybe.js";import{on as l}from"../../core/reactiveUtils.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import a from"../Widget.js";import{loadCalciteComponents as c}from"./componentsUtils.js";import{globalCss as d}from"./globalCss.js";import"./widgetUtils.js";import{messageBundle as p}from"./decorators/messageBundle.js";import{tsx as u}from"./jsxFactory.js";import h from"./SelectionToolbar/SelectionToolbarViewModel.js";import v from"./SelectionToolbar/VisibleElements.js";import{formatNumber as m}from"../../intl/number.js";const f="esri-selection-toolbar",g={base:f,container:`${f}__container`,toolButton:`${f}__tool-button`};let b=class extends a{constructor(e,t){super(e,t),this._viewModelHandlesGroup=null,this.disabled=!1,this.layout="horizontal",this.messages=null,this.scale="s",this.viewModel=new h,this.visibleElements=new v}initialize(){this._viewModelHandlesGroup=o([l((()=>this.viewModel),"before-activate",(e=>this.emit("before-activate",e))),l((()=>this.viewModel),"complete",(e=>this.emit("complete",e))),l((()=>this.viewModel),"selection-change",(e=>this.emit("selection-change",e)))])}destroy(){this._viewModelHandlesGroup=s(this._viewModelHandlesGroup)}loadDependencies(){return c({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar"),chip:()=>import("@esri/calcite-components/dist/components/calcite-chip")})}get _effectiveDisabled(){return this.disabled||"disabled"===this.state}get activeOperation(){return this.viewModel.activeOperation}get continuousSelectionEnabled(){return this.viewModel.continuousSelectionEnabled}set continuousSelectionEnabled(e){this.viewModel.continuousSelectionEnabled=e}get defaultLassoToolOptions(){return this.viewModel.defaultLassoToolOptions}set defaultLassoToolOptions(e){this.viewModel.defaultLassoToolOptions=e}get defaultPointToolOptions(){return this.viewModel.defaultPointToolOptions}set defaultPointToolOptions(e){this.viewModel.defaultPointToolOptions=e}get defaultRectangleToolOptions(){return this.viewModel.defaultRectangleToolOptions}set defaultRectangleToolOptions(e){this.viewModel.defaultRectangleToolOptions=e}get effectiveSelectionManager(){return this.viewModel.effectiveSelectionManager}get effectiveSources(){return this.viewModel.effectiveSources}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get layers(){return t(i.getLogger(this),"layers",{replacement:"Use SelectionToolbar.sources instead."}),this.viewModel.sources}set layers(e){t(i.getLogger(this),"layers",{replacement:"Use SelectionToolbar.sources instead."}),this.viewModel.sources=e}get layerViewPreferenceEnabled(){return this.viewModel.layerViewPreferenceEnabled}set layerViewPreferenceEnabled(e){this.viewModel.layerViewPreferenceEnabled=e}get persistSelection(){return this.viewModel.persistSelection}set persistSelection(e){this.viewModel.persistSelection=e}get returnFeatureTitleFields(){return this.viewModel.returnFeatureTitleFields}set returnFeatureTitleFields(e){this.viewModel.returnFeatureTitleFields=e}get returnGeometry(){return this.viewModel.returnGeometry}set returnGeometry(e){this.viewModel.returnGeometry=e}get selectOnComplete(){return this.viewModel.selectOnComplete}set selectOnComplete(e){this.viewModel.selectOnComplete=e}get selectionManager(){return this.viewModel.selectionManager}set selectionManager(e){this.viewModel.selectionManager=e}get state(){return this.viewModel.state}get sources(){return this.viewModel.sources}set sources(e){this.viewModel.sources=e}get toolConfigs(){return this.viewModel.toolConfigs}set toolConfigs(e){this.viewModel.toolConfigs=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visibleToolCount(){const{visibleElements:e}=this;return this.toolConfigs.length+(e.lassoTool?1:0)+(e.rectangleTool?1:0)}activate(e){if(this.cancel(),!this._effectiveDisabled)return this.viewModel.activate(e)}activateTool(e){if(!this._effectiveDisabled)return this.viewModel.activateTool(e)}cancel(){this.viewModel.cancel()}toggleTool(e){if(!this._effectiveDisabled)return this.viewModel.toggleTool(e)}render(){return u("div",{"aria-label":this.label,class:this.classes(g.base,d.widget)},u("div",{class:g.container},u("calcite-action-bar",{expandDisabled:!0,layout:"horizontal",scale:this.scale},this._renderDefaultTools(),this._renderCustomTools(),this._renderChip())))}_renderDefaultTools(){return[this._renderPanAction(),this._renderPointTool(),this._renderRectangleTool(),this._renderLassoTool()]}_renderPanAction(){if(!this.visibleElements.pan)return;const e=this.messages.pan,t=`${this.id}-tool-pan`;return this._renderAction({active:!this.activeOperation,disabled:this._effectiveDisabled,icon:"pan",id:t,key:t,onclick:()=>this.cancel(),text:e,title:e})}_renderChip(){if(!this.visibleElements.chip)return;const{effectiveSelectionManager:e}=this,t=e?.count??0,o=m(t);return u("calcite-chip",{appearance:"outline",closable:t>0,closed:0===t,disabled:this._effectiveDisabled||0===t,label:o,scale:this.scale,slot:"actions-end",title:this.messages.clearSelection,onCalciteChipClose:()=>e?.clear()},o)}_renderCustomTools(){return this.toolConfigs.map((({toolName:e,icon:t,toolKey:o})=>this._renderToolWithTooltip(e,o,t)))}_renderPointTool(){if(this.visibleElements.pointTool)return this._renderToolWithTooltip("point","point","selection-set",this.messages.selectByPoint)}_renderLassoTool(){if(this.visibleElements.lassoTool)return this._renderToolWithTooltip("lasso","lasso","lasso-select",this.messages.selectByLasso)}_renderRectangleTool(){if(this.visibleElements.rectangleTool)return this._renderToolWithTooltip("rectangle","rectangle","cursor-marquee",this.messages.selectByRectangle)}_renderToolWithTooltip(e,t,o,i=e){const s=`${this.id}-tool-${t}`;return this._renderAction({active:this.activeOperation?.name===e,disabled:this._effectiveDisabled,icon:o||"selection",id:s,key:s,onclick:()=>this.toggleTool(e),text:i,title:i})}_renderAction(e){return u("calcite-action",{...e,bind:this,class:g.toolButton,scale:this.scale})}};e([r()],b.prototype,"_effectiveDisabled",null),e([r()],b.prototype,"activeOperation",null),e([r()],b.prototype,"continuousSelectionEnabled",null),e([r()],b.prototype,"defaultLassoToolOptions",null),e([r()],b.prototype,"defaultPointToolOptions",null),e([r()],b.prototype,"defaultRectangleToolOptions",null),e([r()],b.prototype,"disabled",void 0),e([r()],b.prototype,"effectiveSelectionManager",null),e([r()],b.prototype,"effectiveSources",null),e([r()],b.prototype,"label",null),e([r()],b.prototype,"layers",null),e([r()],b.prototype,"layerViewPreferenceEnabled",null),e([r()],b.prototype,"layout",void 0),e([r(),p("esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar")],b.prototype,"messages",void 0),e([r()],b.prototype,"persistSelection",null),e([r()],b.prototype,"returnFeatureTitleFields",null),e([r()],b.prototype,"returnGeometry",null),e([r()],b.prototype,"selectOnComplete",null),e([r()],b.prototype,"scale",void 0),e([r()],b.prototype,"selectionManager",null),e([r()],b.prototype,"state",null),e([r()],b.prototype,"sources",null),e([r()],b.prototype,"toolConfigs",null),e([r()],b.prototype,"view",null),e([r()],b.prototype,"viewModel",void 0),e([r({type:v,nonNullable:!0})],b.prototype,"visibleElements",void 0),e([r()],b.prototype,"visibleToolCount",null),b=e([n("esri.widgets.support.SelectionToolbar")],b);const w=b;export{w as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{createTask as t}from"../../../core/asyncUtils.js";import o from"../../../core/Collection.js";import r from"../../../core/Evented.js";import{makeHandle as s}from"../../../core/handleUtils.js";import i from"../../../core/Logger.js";import{abortMaybe as n}from"../../../core/maybe.js";import{debounce as l,onAbort as c,ignoreAbortErrors as a}from"../../../core/promiseUtils.js";import{createScreenPoint as p}from"../../../core/screenUtils.js";import{property as d}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as h}from"../../../core/accessorSupport/decorators/subclass.js";import m from"../../../geometry/Point.js";import
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{createTask as t}from"../../../core/asyncUtils.js";import o from"../../../core/Collection.js";import r from"../../../core/Evented.js";import{makeHandle as s}from"../../../core/handleUtils.js";import i from"../../../core/Logger.js";import{abortMaybe as n}from"../../../core/maybe.js";import{debounce as l,onAbort as c,ignoreAbortErrors as a}from"../../../core/promiseUtils.js";import{createScreenPoint as p}from"../../../core/screenUtils.js";import{property as d}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as h}from"../../../core/accessorSupport/decorators/subclass.js";import m from"../../../geometry/Point.js";import u from"../../../geometry/Polygon.js";import{isClockwise as y}from"../../../geometry/support/coordsUtils.js";import{sketchKeys as f,selectionKeys as v}from"../../../views/interactive/keybindings.js";import{loadAutomaticLengthMeasurementUtils as g}from"../../../views/support/automaticLengthMeasurementUtils.js";import{getSelectionFromGeometry as _}from"./selectorUtils.js";const w=100;let T=class extends r.EventedAccessor{constructor(e){super(e),this._completed=!1,this._isConstraintKeyDown=!1,this._processTask=null,this.createTool="rectangle",this.mode=null,this.name="",this.persistSelection=!0,this.returnFeatureTitleFields=!1,this.returnGeometry=!0,this.selection=new o,this.selectionManager=null,this.selectOnComplete=!0,this.sources=null,this.type="add",this._process=l((async(e,o)=>{const{callback:r,selector:s,completed:i}=e,n=t((async e=>{const{effectiveSelectionManager:t,returnFeatureTitleFields:o,returnGeometry:n,selection:l,sources:c,view:a}=this,p=!c?.length&&!t.sources.length;if(l.removeAll(),!p&&a){if(s&&null!=c){const r=await _({returnFeatureTitleFields:o,returnGeometry:n,selector:s,signal:e,sources:c,view:a});if(l.addMany(r),i&&this.persistSelection)switch(this.effectiveType){case"remove":t.updateSelection({current:[],added:[],removed:r});break;case"replace":t.clear(),t.updateSelection({current:r,added:[],removed:[]});break;default:t.updateSelection({current:r,added:[],removed:[]})}}r&&r()}}));return c(o,(()=>n.abort())),this._processTask=n,n.promise}),w),this._onOperationFinish=this._onOperationFinish.bind(this)}initialize(){this._setup()}get _defaultMode(){return"polygon"===this.createTool?"click":"hybrid"}get _selectionArea(){const e=this._tool.coordinates;if(0===e.length)return;const t=p(),o=this.view.spatialReference,r=e=>{t.x=e[0],t.y=e[1];const o=this.view.toMap(t);return[o?.x??0,o?.y??0]};if(1===e.length||e.every((([t,o])=>t===e[0][0]&&o===e[0][1]))){const[t,s]=r(e[0]);return new m({x:t,y:s,spatialReference:o})}const s=e.map(r);if(0===s.length)return;y(s)||s.reverse();return new u({spatialReference:o,rings:[s]})}get completed(){return this._completed}get effectiveSelectionManager(){return this.selectionManager??this.view.selectionManager}get effectiveType(){const e=this.type??"add";if(this._isConstraintKeyDown)switch(e){case"add":return"remove";case"remove":case"replace":return"add";default:return e}return e}get processingFinalSelection(){return!(!this._processTask||!this._tool?.drawOperation?.isCompleted)}cancel(){this.selection.removeAll(),this._onOperationFinish(!0)}destroy(){this._toolImportController=n(this._toolImportController)}async _setup(){const{createTool:e,view:t}=this;if(await t.whenReady(),this.destroyed||this._toolImportController)return;const o=new AbortController;this._toolImportController=o;const[r,n]=await Promise.all([import("../../../views/draw/DrawScreenTool.js"),g()]);if(o.signal.aborted)return;const l=Symbol();try{this._tool=new r.DrawScreenTool({view:t,mode:this.mode??this._defaultMode,geometryType:e,automaticLengthMeasurementUtils:n})}finally{this._toolImportController=null}this._tool?(this.selectOnComplete||this.addHandles(this._tool.on(["cursor-update","vertex-add","vertex-remove"],(()=>{this._syncConstraintKeyDown(),a(this._process({selector:this._selectionArea}))})),l),this.addHandles([t.on("key-down",(e=>{if(!e.repeat)switch(e.key){case f.constraint:this._tool.uniformSizeToggled=!0,e.stopPropagation();break;case f.center:this._tool.centeredToggled=!0,e.stopPropagation()}})),t.on("key-up",(e=>{switch(e.key){case f.constraint:this._tool.uniformSizeToggled=!1,e.stopPropagation();break;case f.center:this._tool.centeredToggled=!1,e.stopPropagation()}})),this.selection.on("change",(e=>this.emit("selection-change",{operationType:this.effectiveType,...e}))),this._tool.on("complete",(async e=>{this._syncConstraintKeyDown(),this.removeHandles(l),e.aborted?this.cancel():(this._tool.cursor="progress",await this._process({selector:this._selectionArea,callback:this._onOperationFinish,completed:!0}))}))],l),this.addHandles(s((()=>t.tools.remove(this._tool)))),t.addAndActivateTool(this._tool)):i.getLogger(this).warn("Unable to import Draw module. SelectionOperation failed to load.")}_syncConstraintKeyDown(){const{inputManager:e}=this.view;this._isConstraintKeyDown=v.invertType.some((t=>e.isModifierKeyDown(t)))}_onOperationFinish(e=!1){this.removeAllHandles(),this._processTask?.abort(),this.emit("complete",{aborted:e,operationType:this.effectiveType,selection:this.selection.toArray()}),this._completed=!0}};e([d()],T.prototype,"_completed",void 0),e([d()],T.prototype,"_defaultMode",null),e([d()],T.prototype,"_isConstraintKeyDown",void 0),e([d()],T.prototype,"_processTask",void 0),e([d()],T.prototype,"_selectionArea",null),e([d()],T.prototype,"completed",null),e([d({constructOnly:!0})],T.prototype,"createTool",void 0),e([d()],T.prototype,"effectiveSelectionManager",null),e([d()],T.prototype,"effectiveType",null),e([d({constructOnly:!0})],T.prototype,"mode",void 0),e([d({constructOnly:!0})],T.prototype,"name",void 0),e([d()],T.prototype,"persistSelection",void 0),e([d()],T.prototype,"processingFinalSelection",null),e([d()],T.prototype,"returnFeatureTitleFields",void 0),e([d()],T.prototype,"returnGeometry",void 0),e([d({readOnly:!0})],T.prototype,"selection",void 0),e([d({constructOnly:!0})],T.prototype,"selectionManager",void 0),e([d({constructOnly:!0})],T.prototype,"selectOnComplete",void 0),e([d()],T.prototype,"sources",void 0),e([d({constructOnly:!0})],T.prototype,"type",void 0),e([d({constructOnly:!0})],T.prototype,"view",void 0),T=e([h("esri.widgets.support.Selector2D.SelectionOperation")],T);const S=T;export{S as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{addMany as e}from"../../../core/arrayUtils.js";import{ignoreAbortErrors as r,whenOrAbort as t}from"../../../core/promiseUtils.js";import{getDisplayFieldName as s}from"../../../layers/support/fieldUtils.js";import{isFeatureLayer as a,isSubtypeGroupLayer as i,isSubtypeSublayer as l,isKnowledgeGraphLayer as n,isLinkChartLayer as o,isMapNotesLayer as c,isGraphicsLayer as u}from"../../../layers/support/layerUtils.js";import{calculateTolerance as d}from"../../../renderers/support/clickToleranceUtils.js";import{createQueryGeometry as y}from"../../../views/support/drapedUtils.js";import{isSelectableLayerView2D as p}from"../../../views/support/layerViewUtils.js";async function m(e){const{
|
|
5
|
+
import{addMany as e}from"../../../core/arrayUtils.js";import{ignoreAbortErrors as r,whenOrAbort as t}from"../../../core/promiseUtils.js";import{getDisplayFieldName as s}from"../../../layers/support/fieldUtils.js";import{isFeatureLayer as a,isSubtypeGroupLayer as i,isSubtypeSublayer as l,isKnowledgeGraphLayer as n,isLinkChartLayer as o,isMapNotesLayer as c,isGraphicsLayer as u}from"../../../layers/support/layerUtils.js";import{calculateTolerance as d}from"../../../renderers/support/clickToleranceUtils.js";import{createQueryGeometry as y}from"../../../views/support/drapedUtils.js";import{isSelectableLayerView2D as p}from"../../../views/support/layerViewUtils.js";async function m(e){const{returnFeatureTitleFields:s,returnGeometry:a,selector:i,signal:l,sources:n,view:o}=e;if(!n?.length)return[];const{layers:c,layerViews:u,graphicsLayers:d}=f(n),y=[];return await r(t(Promise.all([w({candidates:y,layers:c,returnFeatureTitleFields:s,returnGeometry:a,selector:i,signal:l,view:o}),g({candidates:y,layerViews:u,returnGeometry:a,selector:i,signal:l,view:o}),j({candidates:y,graphicsLayers:d,selector:i})]),l)),y}function f(e){const r=[],t=[],s=[];return e.forEach((e=>{a(e)||i(e)||l(e)?r.push(e):(n(e)||o(e))&&e.layers?.length?r.push(...e.layers.toArray()):c(e)&&e.sublayers?.length?s.push(...e.sublayers.toArray()):u(e)?s.push(e):p(e)&&t.push(e)})),{layers:r,layerViews:t,graphicsLayers:s}}async function g(r){const{candidates:s,layerViews:a,returnGeometry:i,selector:l,signal:n,view:o}=r;"point"!==l.type?await t(Promise.allSettled(a.map((async r=>{const t=T(r,l,o,i),a=await r.queryFeatures(t,{signal:n});e(s,a.features)}))),n):await h({candidates:s,layerViews:a,selector:l,view:o})}async function h({candidates:e,layerViews:r,selector:t,view:s}){const a=s.toScreen(t);if(!a)return;const i=r.map((e=>e.layer)),{results:l}=await s.hitTest(a,{include:i});l.forEach((r=>{"graphic"in r&&r.graphic&&e.push(r.graphic)}))}async function w(r){const{candidates:s,layers:a,returnFeatureTitleFields:i,returnGeometry:l,selector:n,signal:o,view:c}=r;await t(Promise.allSettled(a.map((async r=>{if("isTable"in r&&r.isTable)return;const t=v(r,n,c,i,l),a=await r.queryFeatures(t,{signal:o});e(s,a.features)}))),o)}function F(e,r,t){return"point"===e.type?y(e,"renderer"in r?d({renderer:r.renderer}):0,t):e}function b(e,r,t){const{fields:a,fieldsIndex:i}=e,l=new Set([e.objectIdField]);"globalIdField"in e&&null!=e.globalIdField&&i.has(e.globalIdField)&&l.add(i.get(e.globalIdField).name);const n="displayField"in e?e.displayField:null,o=s({displayField:n,fields:a});if(null!=o&&i.has(o)&&l.add(o),"subtypeField"in e&&null!=e.subtypeField){const t=i.get(e.subtypeField)?.name;if(null!=t&&l.add(t),"utilityNetworks"in r.map&&r.map.utilityNetworks?.length){const e=i.get("assetgroup");e?.name&&l.add(e.name);const r=i.get("assettype");r?.name&&l.add(r.name)}}return(t||r.requiredFieldsOptions.featureTitleFields)&&"featureTitleFields"in e&&e.featureTitleFields&&e.featureTitleFields.forEach((e=>l.add(e))),Array.from(l.values())}function T(e,r,t,s=!0){const a=e.createQuery();return a.outFields=["*"],a.geometry=F(r,e.layer,t),a.returnGeometry=s,a.outSpatialReference=t.spatialReference,a}function v(e,r,t,s=!1,a=!0){const i=e.createQuery();return i.outFields=b(e,t,s),i.geometry=F(r,e,t),i.returnGeometry=a,i.outSpatialReference=t.spatialReference,i}async function j(e){const{candidates:r,graphicsLayers:t,selector:s}=e,a=t.flatMap((e=>e.graphics.toArray()))??[];if(!a?.length||!s)return;const i=await import("../../../geometry/operators/intersectsOperator.js");i.accelerateGeometry(s),a.forEach((e=>{e.geometry&&"mesh"!==e.geometry.type&&i.execute(s,e.geometry)&&r.push(e)}))}export{g as collectSelectionFromFeatureLayerViews,w as collectSelectionFromFeatureLayers,j as collectSelectionFromGraphicsLayers,m as getSelectionFromGeometry,F as getSuggestedQueryGeometry};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3562],{751:(e,t,r)=>{r.d(t,{CJ:()=>d});var a=r(49186),n=r(4718),s=r(93637),i=r(67124),o=r(77548);const l=new Set(["bing-maps","imagery","imagery-tile","map-image","open-street-map","tile","unknown","unsupported","vector-tile","web-tile","wcs","wms","wmts"]),c=new Set(["catalog","csv","feature","geo-rss","geojson","group","imagery","imagery-tile","kml","knowledge-graph","map-image","map-notes","media","ogc-feature","oriented-imagery","route","stream","subtype-group","tile","unknown","unsupported","vector-tile","video","web-tile","wcs","wfs","wms","wmts"]),u=new Set([...c,"link-chart"]);function y(e,t){if(t.restrictedWebMapWriting){const r=function(e){switch(e.layerContainerType){case"basemap":return l;case"operational-layers":return"link-chart"===e.origin?u:c;default:return null}}(t);return null==r||r.has(e.type)&&!(0,o.Ov)(e)}return!0}function p(e,t){"maxScale"in e&&(t.maxScale=(0,i.B)(e.maxScale)??void 0),"minScale"in e&&(t.minScale=(0,i.B)(e.minScale)??void 0)}function d(e,t,r){if(!e.persistenceEnabled)return null;if(!("write"in e)||!e.write)return r?.messages&&r.messages.push(new a.A("layer:unsupported",`Layers (${e.title}, ${e.id}) of type '${e.declaredClass}' cannot be persisted`,{layer:e})),null;if((0,o.Ov)(e)&&!e.isTable)t=e.resourceInfo;else if(y(e,r)){const t={};return e.write(t,r)?t:null}return null!=t&&function(e,t){if(function(e,t){if(t)if((0,o.Ov)(e)){const r=(0,s.wc)("featureCollection.layers",t),a=r?.[0]?.layerDefinition;a&&p(e,a)}else"group"!==e.type&&p(e,t)}(e,t),t&&(t.id=e.id,"blendMode"in e&&(t.blendMode=e.blendMode,"normal"===t.blendMode&&delete t.blendMode),t.opacity=(0,i.B)(e.opacity)??void 0,t.title=e.title||"Layer",t.visibility=e.visible,"legendEnabled"in e&&"wmts"!==e.type))if((0,o.Ov)(e)){const r=t.featureCollection;r&&(r.showLegend=e.legendEnabled)}else t.showLegend=e.legendEnabled}(e,t=(0,n.o8)(t)),t}},8303:(e,t,r)=>{r.d(t,{A:()=>S});var a=r(90237),n=r(92602),s=r(70333),i=r(78888),o=r(60999),l=r(49186),c=r(53966),u=r(97768),y=r(74887),p=r(84952),d=r(10107),f=(r(44208),r(87811),r(36005)),h=r(40608),m=r(43937),g=r(77548),v=r(20655),L=r(80812),b=r(41318),w=r(10407);const S=e=>{let t=class extends e{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,u.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,r){if(t.itemId)return new L.default({id:t.itemId,portal:r?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:a}=await r.e(1204).then(r.bind(r,41204));return(0,y.Te)(t),await a({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw(0,y.zf)(e)||c.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async finishLoadEditablePortalLayer(e){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(e).catch((e=>((0,y.QP)(e),!0))))}async setUserPrivileges(e,t){if(!n.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:r,fullEdit:a},content:{updateItem:n}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",r),this._set("userHasFullEditingPrivileges",a),this._set("userHasUpdateItemPrivileges",n)}catch(e){(0,y.QP)(e)}}async _fetchUserPrivileges(e,t){let r=this.portalItem;if(!e||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(t);const a=!s.id?.findCredential(this.url),n=e===r.id;if(n&&r.portal.user)return this._getUserPrivileges(r,a);let i,o;if(n)i=r.portal.url;else try{i=await(0,g.wI)(this.url,t)}catch(e){(0,y.QP)(e)}if(!i||!(0,p.b8)(i,r.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;o=await(s.id?.getCredential(`${i}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,y.QP)(e)}const l=!0,c=!1,u=!1;if(!o)return{features:{edit:l,fullEdit:c},content:{updateItem:u}};try{if(n?await r.reload():(r=new L.default({id:e,portal:{url:i}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,a)}catch(e){(0,y.QP)(e)}return{features:{edit:l,fullEdit:c},content:{updateItem:u}}}_getUserPrivileges(e,t){const r=(0,w.It)(e);return t&&(r.features.edit=!0),r}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,y.QP)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?s.id?.findCredential(this.url):null;if(!t)return!0;const r=M.credential===t?M.user:await this._fetchEditingUser(e);return M.credential=t,M.user=r,null==r?.privileges||r.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const r=s.id?.findServerInfo(this.url??"");if(!r?.owningSystemUrl)return null;const a=`${r.owningSystemUrl}/sharing/rest`,n=v.A.getDefault();if(n&&n.loaded&&(0,p.S8)(n.restUrl)===(0,p.S8)(a))return n.user;const l=`${a}/community/self`,c=null!=e?e.signal:null,u=await(0,o.Ke)((0,i.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:c}));return u.ok?b.A.fromJSON(u.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const r=t?.portal,a=this.portalItem?.id&&(this.portalItem.portal||v.A.getDefault());return r&&a&&!(0,p.ut)(a.restUrl,r.restUrl)?(t.messages&&t.messages.push(new l.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,a._)([(0,d.MZ)({type:L.default})],t.prototype,"portalItem",null),(0,a._)([(0,f.w)("web-document","portalItem",["itemId"])],t.prototype,"readPortalItem",null),(0,a._)([(0,m.K)("web-document","portalItem",{itemId:{type:String}})],t.prototype,"writePortalItem",null),(0,a._)([(0,d.MZ)({clonable:!1})],t.prototype,"resourceReferences",void 0),(0,a._)([(0,d.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasEditingPrivileges",void 0),(0,a._)([(0,d.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasFullEditingPrivileges",void 0),(0,a._)([(0,d.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasUpdateItemPrivileges",void 0),t=(0,a._)([(0,h.$)("esri.layers.mixins.PortalLayer")],t),t},M={credential:null,user:null}},8947:(e,t,r)=>{r.d(t,{L:()=>i});var a=r(60999),n=r(74887),s=r(67076);async function i(e,t,r){const i=e&&e.getAtOrigin&&e.getAtOrigin("renderer",t.origin);if(i&&"unique-value"===i.type&&i.styleOrigin){const o=await(0,a.Ke)(i.populateFromStyle());if((0,n.Te)(r),!1===o.ok){const r=o.error;t?.messages&&t.messages.push(new s.A("renderer:style-reference",`Failed to create unique value renderer from style reference: ${r.message}`,{error:r,context:t})),e.clear("renderer",t?.origin)}}}},22429:(e,t,r)=>{r.d(t,{v:()=>n});var a=r(24183);class n{constructor(){this._serviceMetadatas=new Map,this._itemDatas=new Map}async fetchServiceMetadata(e,t){const r=this._serviceMetadatas.get(e);if(r)return r;const n=await(0,a.V)(e,t);return this._serviceMetadatas.set(e,n),n}async fetchItemData(e){const{id:t}=e;if(!t)return null;const{_itemDatas:r}=this;if(r.has(t))return r.get(t);const a=await e.fetchData();return r.set(t,a),a}async fetchCustomParameters(e,t){const r=await this.fetchItemData(e);return r&&"object"==typeof r&&(t?t(r):r.customParameters)||null}}},25036:(e,t,r)=>{r.d(t,{j:()=>i});var a=r(90237),n=r(10107),s=(r(44208),r(53966),r(87811),r(40608));const i=e=>{let t=class extends e{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){const e={minScale:this.minScale,maxScale:this.maxScale},t=this.parent;t&&"effectiveScaleRange"in t&&function(e,t){e.minScale=e.minScale>0?t.minScale>0?Math.min(e.minScale,t.minScale):e.minScale:t.minScale,e.maxScale=e.maxScale>0?t.maxScale>0?Math.max(e.maxScale,t.maxScale):e.maxScale:t.maxScale}(e,t.effectiveScaleRange);const r=this._get("effectiveScaleRange");return r&&r.minScale===e.minScale&&r.maxScale===e.maxScale?r:e}};return(0,a._)([(0,n.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],t.prototype,"minScale",void 0),(0,a._)([(0,n.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],t.prototype,"maxScale",void 0),(0,a._)([(0,n.MZ)({readOnly:!0})],t.prototype,"effectiveScaleRange",null),t=(0,a._)([(0,s.$)("esri.layers.mixins.ScaleRangeLayer")],t),t}},26121:(e,t,r)=>{r.d(t,{ci:()=>i,dL:()=>n});var a=r(49186);async function n(e){const t=[];for(const r of e.allLayers)if("beforeSave"in r&&"function"==typeof r.beforeSave){const e=r.beforeSave();e&&t.push(e)}await Promise.allSettled(t)}r(77548);const s=new Set(["layer:unsupported","property:unsupported","symbol:unsupported","symbol-layer:unsupported","url:unsupported"]);function i(e,t,r){let n=(e.messages??[]).filter((({type:e})=>"error"===e)).map((({name:e,message:t,details:r})=>new a.A(e,t,r)));if(e.blockedRelativeUrls&&(n=n.concat(e.blockedRelativeUrls.map((e=>new a.A("url:unsupported",`Relative url '${e}' is not supported`))))),r){const{ignoreUnsupported:e,supplementalUnsupportedErrors:t=[],requiredPropertyChecksDisabled:a}=r;e&&(n=n.filter((({name:e})=>!(s.has(e)||t.includes(e))))),a&&(n=n.filter((e=>"web-document-write:property-required"!==e.name)))}if(n.length>0)throw new a.A(t.errorName,"Failed to save due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:n})}},27865:(e,t,r)=>{r.d(t,{O9:()=>s,dw:()=>i,mj:()=>n});var a=r(59247);function n(e,t){const r=e.length>t.length?e:t;return(e.length>t.length?t:e).every(((e,t)=>e.type===r[t].type))}function s(e,t){const r=e.length>t.length?e:t,n=e.length>t.length?t:e;for(let e=n.length;e<r.length;e++)n.push((0,a.sK)(r[e]))}function i(e){const t=e[0];return!!t&&"type"in t}},38961:(e,t,r)=>{r.d(t,{A:()=>c});var a=r(90237),n=r(5503),s=r(36708),i=r(10107),o=r(40608),l=r(80559);let c=class extends n.A{constructor(e){super(e),this.getCollections=null}initialize(){this.addHandles((0,l.fm)((()=>this._refresh()),s.OH))}destroy(){this.getCollections=null}_refresh(){const e=null!=this.getCollections?this.getCollections():null;if(null==e)return void this.removeAll();let t=0;for(const r of e)null!=r&&(t=this._processCollection(t,r));this.splice(t)}_createNewInstance(e){return new n.A(e)}_processCollection(e,t){if(!t)return e;const r=this.itemFilterFunction??(e=>!!e);for(const a of t)if(a){if(r(a)){const t=this.indexOf(a,e);t>=0?t!==e&&this.reorder(a,e):this.add(a,e),++e}if(this.getChildrenFunction){const t=this.getChildrenFunction(a);if(Array.isArray(t))for(const r of t)e=this._processCollection(e,r);else e=this._processCollection(e,t)}}return e}};(0,a._)([(0,i.MZ)()],c.prototype,"getCollections",void 0),(0,a._)([(0,i.MZ)()],c.prototype,"getChildrenFunction",void 0),(0,a._)([(0,i.MZ)()],c.prototype,"itemFilterFunction",void 0),c=(0,a._)([(0,o.$)("esri.core.CollectionFlattener")],c)},45613:(e,t,r)=>{r.d(t,{fromItem:()=>p,n:()=>d});var a=r(49186),n=r(92009),s=r(23154),i=r(22429),o=r(77548),l=r(4513),c=r(80812),u=r(66964),y=r(10407);async function p(e){let{portalItem:t}=e;!t||t instanceof c.default||(t=new c.default(t));const r=await async function(e){await e.load();const t=new i.v;return async function(e){const t=e.className,r=l.S[t];return{constructor:await r(),properties:e.properties}}(await d(e,t))}(t);return new(0,r.constructor)({portalItem:t,...r.properties})}async function d(e,t){switch(e.type){case"3DTiles Service":return e.typeKeywords.includes("3DObject")?{className:"UnsupportedLayer"}:{className:"IntegratedMesh3DTilesLayer"};case"CSV":return{className:"CSVLayer"};case"Feature Collection":return async function(e){await e.load();const t=(0,y.Y)(e,"Map Notes"),r=(0,y.Y)(e,"Markup");if(t||r)return{className:"MapNotesLayer"};if((0,y.Y)(e,"Route Layer"))return{className:"RouteLayer"};const a=await e.fetchData();return 1===(0,u.XH)(a)?{className:"FeatureLayer"}:{className:"GroupLayer"}}(e);case"Feature Service":return async function(e,t){const r=await f(e,t);if("object"==typeof r){const{sourceJSON:e,className:t}=r,a={sourceJSON:e};return null!=r.id&&(a.layerId=r.id),{className:t||"FeatureLayer",properties:a}}return{className:"GroupLayer"}}(e,t);case"Feed":case"Stream Service":return{className:"StreamLayer"};case"GeoJson":return{className:"GeoJSONLayer"};case"Group Layer":return{className:"GroupLayer"};case"Image Service":return async function(e,t){await e.load();const r=e.typeKeywords?.map((e=>e.toLowerCase()))??[];if(r.includes("elevation 3d layer"))return{className:"ElevationLayer"};if(r.includes("tiled imagery"))return{className:"ImageryTileLayer"};const a=await t.fetchItemData(e),n=a?.layerType;if("ArcGISTiledImageServiceLayer"===n)return{className:"ImageryTileLayer"};if("ArcGISImageServiceLayer"===n)return{className:"ImageryLayer"};const s=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)}),i=s.cacheType?.toLowerCase(),o=s.capabilities?.toLowerCase().includes("tilesonly"),l=s.tileInfo?.format?.toLowerCase()??"",c=null==i&&["jpg","jpeg","png","png8","png24","png32","mixed"].includes(l);return"map"===i||c||o?{className:"ImageryTileLayer"}:{className:"ImageryLayer"}}(e,t);case"KML":return{className:"KMLLayer"};case"Knowledge Graph Layer":return{className:"KnowledgeGraphLayer"};case"Map Service":return async function(e,t){return await async function(e,t){const{tileInfo:r}=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)});return r}(e,t)?{className:"TileLayer"}:{className:"MapImageLayer"}}(e,t);case"Media Layer":return{className:"MediaLayer"};case"Scene Service":return async function(e,t){const r=await f(e,t,(async()=>{try{if(!e.url)return[];const{serverUrl:r}=await(0,n.L)(e.url,{sceneLayerItem:e}),a=await t.fetchServiceMetadata(r);return a?.tables??[]}catch{return[]}}));if("object"==typeof r){const a={};let n;if(null!=r.id?(a.layerId=r.id,n=`${e.url}/layers/${r.id}`):n=e.url,e.typeKeywords?.length)for(const t of Object.keys(o.XX))if(e.typeKeywords.includes(t))return{className:o.XX[t]};const s=await t.fetchServiceMetadata(n,{customParameters:await t.fetchCustomParameters(e,(e=>(0,u.pJ)(e)?.customParameters))});return{className:o.XX[s?.layerType]||"SceneLayer",properties:a}}if(!1===r){const r=await t.fetchServiceMetadata(e.url);if("Voxel"===r?.layerType)return{className:"VoxelLayer"}}return{className:"GroupLayer"}}(e,t);case"Video Service":return{className:"VideoLayer"};case"Vector Tile Service":return{className:"VectorTileLayer"};case"WCS":return{className:"WCSLayer"};case"WFS":return{className:"WFSLayer"};case"WMS":return{className:"WMSLayer"};case"WMTS":return{className:"WMTSLayer"};default:throw new a.A("portal:unknown-item-type","Unknown item type '${type}'",{type:e.type})}}async function f(e,t,r){const{url:a,type:n}=e,i="Feature Service"===n;if(!a)return{};if(/\/\d+$/.test(a)){if(i){const r=await t.fetchServiceMetadata(a,{customParameters:await t.fetchCustomParameters(e,(e=>(0,u.pJ)(e)?.customParameters))});return{id:r.id,className:(0,s.K)(r.type),sourceJSON:r}}return{}}await e.load();let o=await t.fetchItemData(e);if(i){const e=await(0,u.bO)(o,a,t),r=h(e);if("object"==typeof r){const t=(0,u.rc)(e,r.id);r.className=(0,u.K8)(t?.layerType)}return r}if("Scene Service"===n&&(o=await(0,u.nu)(e,o,t)),(0,u.XH)(o)>0)return h(o);const l=await t.fetchServiceMetadata(a);return r&&(l.tables=await r()),h(l)}function h(e){return 1===(0,u.XH)(e)&&{id:(0,u.pJ)(e)?.id}}},59247:(e,t,r)=>{r.d(t,{bv:()=>l,Fk:()=>c,yG:()=>u,$b:()=>y,Nd:()=>p,jm:()=>d,sK:()=>m});var a=r(40876),n=r(90629);function s(){const e=new Float32Array(16);return e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}const i=s();Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:function(e){const t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},create:s,fromValues:function(e,t,r,a,n,s,i,o,l,c,u,y,p,d,f,h){const m=new Float32Array(16);return m[0]=e,m[1]=t,m[2]=r,m[3]=a,m[4]=n,m[5]=s,m[6]=i,m[7]=o,m[8]=l,m[9]=c,m[10]=u,m[11]=y,m[12]=p,m[13]=d,m[14]=f,m[15]=h,m}},Symbol.toStringTag,{value:"Module"}));var o=r(58083);class l{constructor(e,t,r){this.strength=e,this.radius=t,this.threshold=r,this.type="bloom"}interpolate(e,t,r){this.strength=f(e.strength,t.strength,r),this.radius=f(e.radius,t.radius,r),this.threshold=f(e.threshold,t.threshold,r)}clone(){return new l(this.strength,this.radius,this.threshold)}toJSON(){return{type:"bloom",radius:h(this.radius),strength:this.strength,threshold:this.threshold}}}class c{constructor(e){this.radius=e,this.type="blur"}interpolate(e,t,r){this.radius=Math.round(f(e.radius,t.radius,r))}clone(){return new c(this.radius)}toJSON(){return{type:"blur",radius:h(this.radius)}}}class u{constructor(e,t){this.type=e,this.amount=t,"invert"!==this.type&&"grayscale"!==this.type&&"sepia"!==this.type||(this.amount=Math.min(this.amount,1))}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(e,t,r){this.amount=f(e.amount,t.amount,r),this._updateMatrix()}clone(){return new u(this.type,this.amount)}toJSON(){return{type:this.type,amount:this.amount}}_updateMatrix(){const e=this._colorMatrix||s();switch(this.type){case"brightness":this._colorMatrix=((e,t)=>{const r=(0,o.hZ)(e,t,0,0,0,0,t,0,0,0,0,t,0,0,0,0,1);return(0,o.mg)(r,r)})(e,this.amount);break;case"contrast":this._colorMatrix=((e,t)=>{const r=(0,o.hZ)(e,t,0,0,.5-.5*t,0,t,0,.5-.5*t,0,0,t,.5-.5*t,0,0,0,1);return(0,o.mg)(r,r)})(e,this.amount);break;case"grayscale":this._colorMatrix=(e=>{const t=1-this.amount,r=(0,o.hZ)(e,.2126+.7874*t,.7152-.7152*t,.0722-.0722*t,0,.2126-.2126*t,.7152+.2848*t,.0722-.0722*t,0,.2126-.2126*t,.7152-.7152*t,.0722+.9278*t,0,0,0,0,1);return(0,o.mg)(r,r)})(e);break;case"invert":this._colorMatrix=((e,t)=>{const r=1-2*t,a=(0,o.hZ)(e,r,0,0,t,0,r,0,t,0,0,r,t,0,0,0,1);return(0,o.mg)(a,a)})(e,this.amount);break;case"saturate":this._colorMatrix=((e,t)=>{const r=(0,o.hZ)(e,.213+.787*t,.715-.715*t,.072-.072*t,0,.213-.213*t,.715+.285*t,.072-.072*t,0,.213-.213*t,.715-.715*t,.072+.928*t,0,0,0,0,1);return(0,o.mg)(r,r)})(e,this.amount);break;case"sepia":this._colorMatrix=(e=>{const t=1-this.amount,r=(0,o.hZ)(e,.393+.607*t,.769-.769*t,.189-.189*t,0,.349-.349*t,.686+.314*t,.168-.168*t,0,.272-.272*t,.534-.534*t,.131+.869*t,0,0,0,0,1);return(0,o.mg)(r,r)})(e)}}}class y{constructor(e,t,r,a){this.offsetX=e,this.offsetY=t,this.blurRadius=r,this.color=a,this.type="drop-shadow"}interpolate(e,t,r){this.offsetX=f(e.offsetX,t.offsetX,r),this.offsetY=f(e.offsetY,t.offsetY,r),this.blurRadius=f(e.blurRadius,t.blurRadius,r),this.color[0]=Math.round(f(e.color[0],t.color[0],r)),this.color[1]=Math.round(f(e.color[1],t.color[1],r)),this.color[2]=Math.round(f(e.color[2],t.color[2],r)),this.color[3]=f(e.color[3],t.color[3],r)}clone(){return new y(this.offsetX,this.offsetY,this.blurRadius,[...this.color])}toJSON(){const e=[...this.color];return e[3]*=255,{type:"drop-shadow",xoffset:h(this.offsetX),yoffset:h(this.offsetY),blurRadius:h(this.blurRadius),color:e}}}class p{constructor(e){this.angle=e,this.type="hue-rotate"}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(e,t,r){this.angle=f(e.angle,t.angle,r),this._updateMatrix()}clone(){return new p(this.angle)}toJSON(){return{type:"hue-rotate",angle:this.angle}}_updateMatrix(){const e=this._colorMatrix||s();this._colorMatrix=((e,t)=>{const r=Math.sin(t*Math.PI/180),a=Math.cos(t*Math.PI/180),n=(0,o.hZ)(e,.213+.787*a-.213*r,.715-.715*a-.715*r,.072-.072*a+.928*r,0,.213-.213*a+.143*r,.715+.285*a+.14*r,.072-.072*a-.283*r,0,.213-.213*a-.787*r,.715-.715*a+.715*r,.072+.928*a+.072*r,0,0,0,0,1);return(0,o.mg)(n,n)})(e,this.angle)}}class d{constructor(e){this.amount=e,this.type="opacity",this.amount=Math.min(this.amount,1)}interpolate(e,t,r){this.amount=f(e.amount,t.amount,r)}clone(){return new d(this.amount)}toJSON(){return{type:"opacity",amount:this.amount}}}function f(e,t,r){return e+(t-e)*r}function h(e){return Math.round(1e3*(0,n.PN)(e))/1e3}function m(e){switch(e.type){case"grayscale":case"sepia":case"invert":return new u(e.type,0);case"saturate":case"brightness":case"contrast":return new u(e.type,1);case"opacity":return new d(1);case"hue-rotate":return new p(0);case"blur":return new c(0);case"drop-shadow":return new y(0,0,0,[...(0,a.TS)("transparent")]);case"bloom":return new l(0,0,1)}}},62885:(e,t,r)=>{r.d(t,{H:()=>s,V:()=>n});var a=r(5503);function n(e,t,r=a.A){return t||(t=new r),t===e||(t.removeAll(),(n=e)&&(Array.isArray(n)||"items"in n&&Array.isArray(n.items))?t.addMany(e):e&&t.add(e)),t;var n}function s(e){return e}},63074:(e,t,r)=>{r.d(t,{LF:()=>u,dM:()=>y,sU:()=>l});var a=r(90237),n=r(10107),s=(r(44208),r(53966),r(87811),r(40608)),i=r(89317),o=r(76369);const l={type:["average","color-burn","color-dodge","color","darken","destination-atop","destination-in","destination-out","destination-over","difference","exclusion","hard-light","hue","invert","lighten","lighter","luminosity","minus","multiply","normal","overlay","plus","reflect","saturation","screen","soft-light","source-atop","source-in","source-out","vivid-light","xor"],nonNullable:!0,json:{read:!1,write:!1,origins:{"web-map":{read:!0,write:{layerContainerTypes:i.K}},"portal-item":{read:!0,write:{layerContainerTypes:i.K}}}}},c={read:{reader:o.LF},write:{allowNull:!0,writer:o.M9,layerContainerTypes:i.K}},u={json:{read:!1,write:!1,origins:{"web-map":c,"portal-item":c}}},y=e=>{let t=class extends e{constructor(){super(...arguments),this.blendMode="normal",this.effect=null}};return(0,a._)([(0,n.MZ)(l)],t.prototype,"blendMode",void 0),(0,a._)([(0,n.MZ)(u)],t.prototype,"effect",void 0),t=(0,a._)([(0,s.$)("esri.layers.mixins.BlendLayer")],t),t}},66964:(e,t,r)=>{r.d(t,{Ju:()=>c,K8:()=>p,XH:()=>u,_r:()=>s,bO:()=>i,l:()=>y,nu:()=>d,pJ:()=>o,rc:()=>l});var a=r(92009),n=r(23154);function s(e){const t={id:e.id,name:e.name},r=(0,n.K)(e.type);return"FeatureLayer"!==r&&(t.layerType=r),t}async function i(e,t,r){if(null==e?.layers||null==e?.tables){const a=await r.fetchServiceMetadata(t,{customParameters:o(e)?.customParameters});(e=e||{}).layers=e.layers||a?.layers?.map(s),e.tables=e.tables||a?.tables?.map(s)}return e}function o(e){if(!e)return null;const{layers:t,tables:r}=e;return t?.length?t[0]:r?.length?r[0]:null}function l(e,t){return null==t?null:[...e.layers||[],...e.tables||[]].find((e=>e.id===t))}function c(e,t){return[...e.layers||[],...e.tables||[]].filter((({layerType:e})=>e?t.includes(e):t.includes("ArcGISFeatureLayer")))}function u(e){return(e?.layers?.length??0)+(e?.tables?.length??0)}function y(e){switch(e){case"catalog":return["CatalogLayer"];case"feature":return["ArcGISFeatureLayer"];case"oriented-imagery":return["OrientedImageryLayer"];case"subtype-group":return["SubtypeGroupLayer","SubtypeGroupTable"]}return null}function p(e){switch(e){case"CatalogLayer":return"CatalogLayer";case"OrientedImageryLayer":return"OrientedImageryLayer";case"SubtypeGroupLayer":case"SubtypeGroupTable":return"SubtypeGroupLayer"}return"FeatureLayer"}async function d(e,t,r){if(!e?.url)return t??{};if(t??={},!t.layers){const a=await r.fetchServiceMetadata(e.url);t.layers=a.layers?.map(s)}const{serverUrl:n,portalItem:i}=await(0,a.L)(e.url,{sceneLayerItem:e,customParameters:o(t)?.customParameters}).catch((()=>({serverUrl:null,portalItem:null})));if(null==n)return t.tables=[],t;if(!t.tables&&i){const e=await i.fetchData().catch((()=>null));if(e?.tables)t.tables=e.tables.map(s);else{const a=await r.fetchServiceMetadata(n,{customParameters:o(e)?.customParameters}).catch((()=>null));t.tables=a?.tables?.map(s)}}if(t.tables)for(const e of t.tables)e.url=`${n}/${e.id}`;return t}},69540:(e,t,r)=>{r.d(t,{A:()=>p});var a=r(90237),n=r(69622),s=(r(44208),r(4718)),i=(r(53966),r(97768)),o=r(35666),l=r(88620),c=r(40608);const u=e=>{let t=class extends e{clone(){const e=(0,l.oY)(this);(0,i.Lw)(e,"unable to clone instance of non-accessor class");const t=e.metadata,r=e.store,a={},n=new Map;for(const e in t){const i=t[e],l=r?.originOf(e),c=i.clonable;if(i.readOnly||!1===c||l!==o.Gr.USER&&l!==o.Gr.DEFAULTS&&l!==o.Gr.WEB_MAP&&l!==o.Gr.WEB_SCENE)continue;const u=this[e];let y=null;y="function"==typeof c?c(u):"reference"===c?u:(0,s.TU)(u),null!=u&&null==y||(l===o.Gr.DEFAULTS?n.set(e,y):a[e]=y)}const c=new(0,Object.getPrototypeOf(this).constructor)(a);if(n.size){const e=(0,l.oY)(c)?.store;if(e)for(const[t,r]of n)e.set(t,r,o.Gr.DEFAULTS)}return c}};return t=(0,a._)([(0,c.$)("esri.core.Clonable")],t),t};let y=class extends(u(n.A)){};y=(0,a._)([(0,c.$)("esri.core.Clonable")],y),(y||(y={})).ClonableMixin=u;const p=y},75356:(e,t,r)=>{r.d(t,{N:()=>I,populateOperationalLayers:()=>u});var a=r(5503),n=(r(44208),r(22429)),s=r(4513),i=r(80812);function o(e,t){return!(!e.layerType||"ArcGISFeatureLayer"!==e.layerType)&&e.featureCollectionType===t}var l=r(45613),c=r(8947);async function u(e,t,r){if(!t)return;const a=t.map((e=>async function(e,t){return async function(e,t,r){const a=new e;return a.read(t,r.context),"group"===a.type&&("GroupLayer"===t.layerType?await I(a,t,r):M(t)?function(e,t,r){t.itemId&&(e.portalItem=new i.default({id:t.itemId,portal:r?.portal}),e.when((()=>{const a=a=>{const n=a.layerId;x(a,e,t,n,r);const s=t.featureCollection?.layers?.[n];s&&a.read(s,r)};e.layers?.forEach(a),e.tables?.forEach(a)})))}(a,t,r.context):S(t)&&await async function(e,t,r){const a=s.S.FeatureLayer,n=await a(),i=t.featureCollection,o=i?.showLegend,l=i?.layers?.map(((a,s)=>{const i=new n;i.read(a,r);const l={...r,ignoreDefaults:!0};return x(i,e,t,s,l),null!=o&&i.read({showLegend:o},l),i}));e.layers.addMany(l??[])}(a,t,r.context)),await(0,c.L)(a,r.context),a}(await w(e,t),e,t)}(e,r))),n=await Promise.allSettled(a);for(const t of n)"rejected"===t.status||t.value&&e.add(t.value)}const y={ArcGISDimensionLayer:"DimensionLayer",ArcGISFeatureLayer:"FeatureLayer",ArcGISImageServiceLayer:"ImageryLayer",ArcGISMapServiceLayer:"MapImageLayer",ArcGISSceneServiceLayer:"SceneLayer",ArcGISTiledElevationServiceLayer:"ElevationLayer",ArcGISTiledImageServiceLayer:"ImageryTileLayer",ArcGISTiledMapServiceLayer:"TileLayer",BuildingSceneLayer:"BuildingSceneLayer",CatalogLayer:"CatalogLayer",CSV:"CSVLayer",DefaultTileLayer:"TileLayer",GeoJSON:"GeoJSONLayer",GroupLayer:"GroupLayer",IntegratedMesh3DTilesLayer:"IntegratedMesh3DTilesLayer",Object3DTilesLayer:"UnsupportedLayer",IntegratedMeshLayer:"IntegratedMeshLayer",KML:"KMLLayer",LineOfSightLayer:"LineOfSightLayer",MediaLayer:"MediaLayer",OGCFeatureLayer:"OGCFeatureLayer",OrientedImageryLayer:"OrientedImageryLayer",PointCloudLayer:"PointCloudLayer",RasterDataLayer:"UnsupportedLayer",VectorTileLayer:"VectorTileLayer",ViewshedLayer:"ViewshedLayer",Voxel:"VoxelLayer",WCS:"WCSLayer",WFS:"WFSLayer",WMS:"WMSLayer",WebTiledLayer:"WebTileLayer"},p={ArcGISTiledElevationServiceLayer:"ElevationLayer",DefaultTileLayer:"ElevationLayer",RasterDataElevationLayer:"UnsupportedLayer"},d={ArcGISFeatureLayer:"FeatureLayer"},f={ArcGISImageServiceLayer:"UnsupportedLayer",ArcGISMapServiceLayer:"UnsupportedLayer",ArcGISSceneServiceLayer:"SceneLayer",ArcGISTiledImageServiceLayer:"ImageryTileLayer",ArcGISTiledMapServiceLayer:"TileLayer",DefaultTileLayer:"TileLayer",OpenStreetMap:"OpenStreetMapLayer",VectorTileLayer:"VectorTileLayer",WCS:"UnsupportedLayer",WMS:"UnsupportedLayer",WebTiledLayer:"WebTileLayer"},h={ArcGISAnnotationLayer:"UnsupportedLayer",ArcGISDimensionLayer:"UnsupportedLayer",ArcGISFeatureLayer:"FeatureLayer",ArcGISImageServiceLayer:"ImageryLayer",ArcGISImageServiceVectorLayer:"ImageryLayer",ArcGISMapServiceLayer:"MapImageLayer",ArcGISStreamLayer:"StreamLayer",ArcGISTiledImageServiceLayer:"ImageryTileLayer",ArcGISTiledMapServiceLayer:"TileLayer",ArcGISVideoLayer:"VideoLayer",BingMapsAerial:"BingMapsLayer",BingMapsHybrid:"BingMapsLayer",BingMapsRoad:"BingMapsLayer",CatalogLayer:"CatalogLayer",CSV:"CSVLayer",DefaultTileLayer:"TileLayer",GeoJSON:"GeoJSONLayer",GeoRSS:"GeoRSSLayer",GroupLayer:"GroupLayer",KML:"KMLLayer",KnowledgeGraphLayer:"KnowledgeGraphLayer",MediaLayer:"MediaLayer",OGCFeatureLayer:"OGCFeatureLayer",OrientedImageryLayer:"OrientedImageryLayer",SubtypeGroupLayer:"SubtypeGroupLayer",VectorTileLayer:"VectorTileLayer",WCS:"WCSLayer",WFS:"WFSLayer",WMS:"WMSLayer",WebTiledLayer:"WebTileLayer"},m={ArcGISFeatureLayer:"FeatureLayer",SubtypeGroupTable:"SubtypeGroupLayer"},g={ArcGISImageServiceLayer:"ImageryLayer",ArcGISImageServiceVectorLayer:"ImageryLayer",ArcGISMapServiceLayer:"MapImageLayer",ArcGISTiledImageServiceLayer:"ImageryTileLayer",ArcGISTiledMapServiceLayer:"TileLayer",BingMapsAerial:"BingMapsLayer",BingMapsHybrid:"BingMapsLayer",BingMapsRoad:"BingMapsLayer",DefaultTileLayer:"TileLayer",OpenStreetMap:"OpenStreetMapLayer",VectorTileLayer:"VectorTileLayer",WCS:"WCSLayer",WMS:"WMSLayer",WebTiledLayer:"WebTileLayer"},v={...h,LinkChartLayer:"LinkChartLayer"},L={...m},b={...g};async function w(e,t){const r=t.context,a=A(r);let c=e.layerType||e.type;!c&&t?.defaultLayerType&&(c=t.defaultLayerType);const u=a[c];let y=u?s.S[u]:s.S.UnknownLayer;if(M(e)){const t=r?.portal;if(e.itemId){const r=new i.default({id:e.itemId,portal:t});await r.load();const a=(await(0,l.n)(r,new n.v)).className||"UnknownLayer";y=s.S[a]}}else"ArcGISFeatureLayer"===c?function(e){return o(e,"notes")}(e)||function(e){return o(e,"markup")}(e)?y=s.S.MapNotesLayer:function(e){return o(e,"route")}(e)?y=s.S.RouteLayer:S(e)&&(y=s.S.GroupLayer):e.wmtsInfo?.url&&e.wmtsInfo.layerIdentifier?y=s.S.WMTSLayer:"WFS"===c&&"2.0.0"!==e.wfsInfo?.version&&(y=s.S.UnsupportedLayer);return y()}function S(e){return"ArcGISFeatureLayer"===e.layerType&&!M(e)&&(e.featureCollection?.layers?.length??0)>1}function M(e){return"Feature Collection"===e.type}function A(e){let t;switch(e.origin){case"web-scene":switch(e.layerContainerType){case"basemap":t=f;break;case"ground":t=p;break;case"tables":t=d;break;default:t=y}break;case"link-chart":switch(e.layerContainerType){case"basemap":t=b;break;case"tables":t=L;break;default:t=v}break;default:switch(e.layerContainerType){case"basemap":t=g;break;case"tables":t=m;break;default:t=h}}return t}async function I(e,t,r){const n=new a.A,s=u(n,Array.isArray(t.layers)?t.layers:[],r);try{try{if(await s,"group"===e.type)return e.layers.addMany(n),e}catch(t){e.destroy();for(const e of n)e.destroy();throw t}}catch(e){throw e}}function x(e,t,r,a,n){e.read({id:`${t.id}-sublayer-${a}`,visibility:r.visibleLayers?.includes(a)??!0},n)}},76369:(e,t,r)=>{r.d(t,{LF:()=>S,M9:()=>M});var a=r(49186),n=r(93637),s=r(40876),i=r(59247),o=r(27865);class l extends SyntaxError{constructor(e,t,r,a){super(e),this.expected=t,this.found=r,this.location=a,this.name="SyntaxError"}format(e){let t="Error: "+this.message;if(this.location){let r=null;const a=e.find((e=>e.source===this.location.source));a&&(r=a.text.split(/\r\n|\n|\r/g));const n=this.location.start,s=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(n):n,i=this.location.source+":"+s.line+":"+s.column;if(r){const e=this.location.end,a="".padEnd(s.line.toString().length," "),o=r[n.line-1],l=(n.line===e.line?e.column:o.length+1)-n.column||1;t+="\n --\x3e "+i+"\n"+a+" |\n"+s.line+" | "+o+"\n"+a+" | "+"".padEnd(n.column-1," ")+"".padEnd(l,"^")}else t+="\n at "+i}return t}static buildMessage(e,t){function r(e){return e.codePointAt(0).toString(16).toUpperCase()}const a=Object.prototype.hasOwnProperty.call(RegExp.prototype,"unicode")?new RegExp("[\\p{C}\\p{Mn}\\p{Mc}]","gu"):null;function n(e){return a?e.replace(a,(e=>"\\u{"+r(e)+"}")):e}function s(e){return n(e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(e=>"\\x0"+r(e))).replace(/[\x10-\x1F\x7F-\x9F]/g,(e=>"\\x"+r(e))))}function i(e){return n(e.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(e=>"\\x0"+r(e))).replace(/[\x10-\x1F\x7F-\x9F]/g,(e=>"\\x"+r(e))))}const o={literal:e=>'"'+s(e.text)+'"',class(e){const t=e.parts.map((e=>Array.isArray(e)?i(e[0])+"-"+i(e[1]):i(e)));return"["+(e.inverted?"^":"")+t.join("")+"]"+(e.unicode?"u":"")},any:()=>"any character",end:()=>"end of input",other:e=>e.description};function l(e){return o[e.type](e)}return"Expected "+function(e){const t=e.map(l);if(t.sort(),t.length>0){let e=1;for(let r=1;r<t.length;r++)t[r-1]!==t[r]&&(t[e]=t[r],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+" or "+t[1];default:return t.slice(0,-1).join(", ")+", or "+t[t.length-1]}}(e)+" but "+function(e){return e?'"'+s(e)+'"':"end of input"}(t)+" found."}}function c(e){if(!e||0===e.length)return null;if("string"==typeof e){const t=u(e);return t&&0!==t.length?t:null}const t=e.map((e=>{if(!Number.isFinite(e.scale)||e.scale<=0)throw new a.A("effect:invalid-scale","scale must be finite and greater than 0",{stop:e});return{scale:e.scale,effects:u(e.value)}}));t.sort(((e,t)=>t.effects.length-e.effects.length));for(let e=0;e<t.length-1;e++){if(!(0,o.mj)(t[e].effects,t[e+1].effects))throw new a.A("effect:interpolation-impossible","Cannot interpolate by scale between 2 lists of mixed effects",{a:t[e].effects,b:t[e+1].effects});(0,o.O9)(t[e].effects,t[e+1].effects)}return t.sort(((e,t)=>t.scale-e.scale)),t}function u(e){let t;if(!e)return[];try{t=function(e,t){const r={},a=(t=void 0!==t?t:{}).grammarSource,n={start:we};let s=we;const i="none",o=")",c=",",u="(",y="%",p="px",d="cm",f="mm",h="in",m="pt",g="pc",v="deg",L="rad",b="grad",w="turn",S="#",M=".",A="e",I=/^[ \t\n\r]/,x=/^[a-z\-]/,_=/^[0-9a-fA-F]/,T=/^[+\-]/,C=/^[0-9]/,G=ge("none"),F=he("none",!1),P=he(")",!1),O=he(",",!1),N=me([" ","\t","\n","\r"],!1,!1,!1),E=ge("function"),$=he("(",!1),k=ge("identifier"),U=me([["a","z"],"-"],!1,!1,!1),V=ge("percentage"),R=he("%",!1),W=ge("length"),D=he("px",!1),j=he("cm",!1),Z=he("mm",!1),H=he("in",!1),B=he("pt",!1),K=he("pc",!1),J=ge("angle"),X=he("deg",!1),Y=he("rad",!1),z=he("grad",!1),q=he("turn",!1),Q=ge("number"),ee=ge("color"),te=he("#",!1),re=me([["0","9"],["a","f"],["A","F"]],!1,!1,!1),ae=me(["+","-"],!1,!1,!1),ne=me([["0","9"]],!1,!1,!1),se=he(".",!1),ie=he("e",!1);let oe=0|t.peg$currPos,le=oe;const ce=[{line:1,column:1}];let ue,ye=oe,pe=t.peg$maxFailExpected||[],de=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in n))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=n[t.startRule]}function fe(){return e.substring(le,oe)}function he(e,t){return{type:"literal",text:e,ignoreCase:t}}function me(e,t,r,a){return{type:"class",parts:e,inverted:t,ignoreCase:r,unicode:a}}function ge(e){return{type:"other",description:e}}function ve(t){let r,a=ce[t];if(a)return a;if(t>=ce.length)r=ce.length-1;else for(r=t;!ce[--r];);for(a=ce[r],a={line:a.line,column:a.column};r<t;)10===e.charCodeAt(r)?(a.line++,a.column=1):a.column++,r++;return ce[t]=a,a}function Le(e,t,r){const n=ve(e),s=ve(t);return{source:a,start:{offset:e,line:n.line,column:n.column},end:{offset:t,line:s.line,column:s.column}}}function be(e){oe<ye||(oe>ye&&(ye=oe,pe=[]),pe.push(e))}function we(){let e;return e=Se(),e===r&&(e=function(){let e,t;if(e=[],t=Me(),t!==r)for(;t!==r;)e.push(t),t=Me();else e=r;return e}()),e}function Se(){let t,a;return de++,t=oe,Ie(),e.substr(oe,4)===i?(a=i,oe+=4):(a=r,0===de&&be(F)),a!==r?(Ie(),le=t,t=[]):(oe=t,t=r),de--,t===r&&0===de&&be(G),t}function Me(){let t,a,n,s;return t=oe,Ie(),a=function(){let t,a,n;return de++,t=oe,a=xe(),a!==r?(40===e.charCodeAt(oe)?(n=u,oe++):(n=r,0===de&&be($)),n!==r?(le=t,t=a):(oe=t,t=r)):(oe=t,t=r),de--,t===r&&(a=r,0===de&&be(E)),t}(),a!==r?(Ie(),n=function(){let t,a,n,s,i,o,l,u;if(t=oe,a=Ae(),a!==r){for(n=[],s=oe,i=Ie(),44===e.charCodeAt(oe)?(o=c,oe++):(o=r,0===de&&be(O)),o===r&&(o=null),l=Ie(),u=Ae(),u!==r?(i=[i,o,l,u],s=i):(oe=s,s=r);s!==r;)n.push(s),s=oe,i=Ie(),44===e.charCodeAt(oe)?(o=c,oe++):(o=r,0===de&&be(O)),o===r&&(o=null),l=Ie(),u=Ae(),u!==r?(i=[i,o,l,u],s=i):(oe=s,s=r);le=t,t=function(e,t){return t.length>0?function(e,t){return[e].concat(function(e){return e.map((function(e){return e[3]}))}(t))}(e,t):[e]}(a,n)}else oe=t,t=r;return t}(),n===r&&(n=null),Ie(),41===e.charCodeAt(oe)?(s=o,oe++):(s=r,0===de&&be(P)),s!==r?(Ie(),le=t,t=function(e,t){return{type:"function",name:e,parameters:t||[]}}(a,n)):(oe=t,t=r)):(oe=t,t=r),t}function Ae(){let e,t;return e=oe,t=_e(),t===r&&(t=Te(),t===r&&(t=Ce(),t===r&&(t=function(){let e,t;return de++,e=oe,Ie(),t=Fe(),t!==r?(le=e,e=function(e){return{value:e,unit:null}}(t)):(oe=e,e=r),de--,e===r&&0===de&&be(Q),e}()))),t!==r&&(le=e,t=function(e){return{type:"quantity",value:e.value,unit:e.unit}}(t)),e=t,e===r&&(e=oe,t=Ge(),t!==r&&(le=e,t=function(e){return{type:"color",colorType:e.type,value:e.value}}(t)),e=t),e}function Ie(){let t,a;for(de++,t=[],a=e.charAt(oe),I.test(a)?oe++:(a=r,0===de&&be(N));a!==r;)t.push(a),a=e.charAt(oe),I.test(a)?oe++:(a=r,0===de&&be(N));return de--,t}function xe(){let t,a,n;if(de++,t=oe,a=[],n=e.charAt(oe),x.test(n)?oe++:(n=r,0===de&&be(U)),n!==r)for(;n!==r;)a.push(n),n=e.charAt(oe),x.test(n)?oe++:(n=r,0===de&&be(U));else a=r;return a!==r&&(le=t,a=fe()),t=a,de--,t===r&&(a=r,0===de&&be(k)),t}function _e(){let t,a,n;return de++,t=oe,Ie(),a=Fe(),a!==r?(37===e.charCodeAt(oe)?(n=y,oe++):(n=r,0===de&&be(R)),n!==r?(le=t,t=function(e){return{value:e,unit:"%"}}(a)):(oe=t,t=r)):(oe=t,t=r),de--,t===r&&0===de&&be(V),t}function Te(){let t,a,n;return de++,t=oe,Ie(),a=Fe(),a!==r?(e.substr(oe,2)===p?(n=p,oe+=2):(n=r,0===de&&be(D)),n!==r?(le=t,t=function(e){return{value:e,unit:"px"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,Ie(),a=Fe(),a!==r?(e.substr(oe,2)===d?(n=d,oe+=2):(n=r,0===de&&be(j)),n!==r?(le=t,t=function(e){return{value:e,unit:"cm"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,Ie(),a=Fe(),a!==r?(e.substr(oe,2)===f?(n=f,oe+=2):(n=r,0===de&&be(Z)),n!==r?(le=t,t=function(e){return{value:e,unit:"mm"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,Ie(),a=Fe(),a!==r?(e.substr(oe,2)===h?(n=h,oe+=2):(n=r,0===de&&be(H)),n!==r?(le=t,t=function(e){return{value:e,unit:"in"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,Ie(),a=Fe(),a!==r?(e.substr(oe,2)===m?(n=m,oe+=2):(n=r,0===de&&be(B)),n!==r?(le=t,t=function(e){return{value:e,unit:"pt"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,Ie(),a=Fe(),a!==r?(e.substr(oe,2)===g?(n=g,oe+=2):(n=r,0===de&&be(K)),n!==r?(le=t,t=function(e){return{value:e,unit:"pc"}}(a)):(oe=t,t=r)):(oe=t,t=r)))))),de--,t===r&&0===de&&be(W),t}function Ce(){let t,a,n;return de++,t=oe,a=Fe(),a!==r?(e.substr(oe,3)===v?(n=v,oe+=3):(n=r,0===de&&be(X)),n!==r?(le=t,t=function(e){return{value:e,unit:"deg"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,a=Fe(),a!==r?(e.substr(oe,3)===L?(n=L,oe+=3):(n=r,0===de&&be(Y)),n!==r?(le=t,t=function(e){return{value:e,unit:"rad"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,a=Fe(),a!==r?(e.substr(oe,4)===b?(n=b,oe+=4):(n=r,0===de&&be(z)),n!==r?(le=t,t=function(e){return{value:e,unit:"grad"}}(a)):(oe=t,t=r)):(oe=t,t=r),t===r&&(t=oe,a=Fe(),a!==r?(e.substr(oe,4)===w?(n=w,oe+=4):(n=r,0===de&&be(q)),n!==r?(le=t,t=function(e){return{value:e,unit:"turn"}}(a)):(oe=t,t=r)):(oe=t,t=r)))),de--,t===r&&(a=r,0===de&&be(J)),t}function Ge(){let t,a,n,s;if(de++,t=oe,35===e.charCodeAt(oe)?(a=S,oe++):(a=r,0===de&&be(te)),a!==r){if(n=[],s=e.charAt(oe),_.test(s)?oe++:(s=r,0===de&&be(re)),s!==r)for(;s!==r;)n.push(s),s=e.charAt(oe),_.test(s)?oe++:(s=r,0===de&&be(re));else n=r;n!==r?(le=t,t={type:"hex",value:fe()}):(oe=t,t=r)}else oe=t,t=r;return t===r&&(t=oe,a=Me(),a!==r&&(le=t,a=function(e){return{type:"function",value:e}}(a)),t=a,t===r&&(t=oe,a=xe(),a!==r&&(le=t,a={type:"named",value:fe()}),t=a)),de--,t===r&&(a=r,0===de&&be(ee)),t}function Fe(){let t,a,n,s,i,o,l,c;for(t=oe,a=e.charAt(oe),T.test(a)?oe++:(a=r,0===de&&be(ae)),a===r&&(a=null),n=oe,s=[],i=e.charAt(oe),C.test(i)?oe++:(i=r,0===de&&be(ne));i!==r;)s.push(i),i=e.charAt(oe),C.test(i)?oe++:(i=r,0===de&&be(ne));if(46===e.charCodeAt(oe)?(i=M,oe++):(i=r,0===de&&be(se)),i!==r){if(o=[],l=e.charAt(oe),C.test(l)?oe++:(l=r,0===de&&be(ne)),l!==r)for(;l!==r;)o.push(l),l=e.charAt(oe),C.test(l)?oe++:(l=r,0===de&&be(ne));else o=r;o!==r?(s=[s,i,o],n=s):(oe=n,n=r)}else oe=n,n=r;if(n===r)if(n=[],s=e.charAt(oe),C.test(s)?oe++:(s=r,0===de&&be(ne)),s!==r)for(;s!==r;)n.push(s),s=e.charAt(oe),C.test(s)?oe++:(s=r,0===de&&be(ne));else n=r;if(n!==r){if(s=oe,101===e.charCodeAt(oe)?(i=A,oe++):(i=r,0===de&&be(ie)),i!==r){if(o=e.charAt(oe),T.test(o)?oe++:(o=r,0===de&&be(ae)),o===r&&(o=null),l=[],c=e.charAt(oe),C.test(c)?oe++:(c=r,0===de&&be(ne)),c!==r)for(;c!==r;)l.push(c),c=e.charAt(oe),C.test(c)?oe++:(c=r,0===de&&be(ne));else l=r;l!==r?(i=[i,o,l],s=i):(oe=s,s=r)}else oe=s,s=r;s===r&&(s=null),le=t,t=parseFloat(fe())}else oe=t,t=r;return t}ue=s();const Pe=ue!==r&&oe===e.length;function Oe(){throw ue!==r&&oe<e.length&&be({type:"end"}),function(e,t,r){return new l(l.buildMessage(e,t),e,t,r)}(pe,ye<e.length?function(t=oe){const r=e.codePointAt(t);return void 0===r?"":String.fromCodePoint(r)}(ye):null,ye<e.length?Le(ye,ye+1):Le(ye,ye))}return t.peg$library?{peg$result:ue,peg$currPos:oe,peg$FAILED:r,peg$maxFailExpected:pe,peg$maxFailPos:ye,peg$success:Pe,peg$throw:Pe?void 0:Oe}:Pe?ue:void Oe()}(e)}catch(t){throw new a.A("effect:invalid-syntax","Invalid effect syntax",{value:e,error:t})}return t.map((e=>function(e){try{switch(e.name){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":return function(e){let t=1;return y(e.parameters,1),1===e.parameters.length&&(t=m(e.parameters[0])),new i.yG(e.name,t)}(e);case"opacity":return function(e){let t=1;return y(e.parameters,1),1===e.parameters.length&&(t=m(e.parameters[0])),new i.jm(t)}(e);case"hue-rotate":return function(e){let t=0;return y(e.parameters,1),1===e.parameters.length&&(t=function(e){return function(e){if("quantity"!==e.type||!(0===e.value&&null===e.unit||e.unit&&null!=f[e.unit]))throw new a.A("effect:type-error",`Expected <angle>, Actual: ${p(e)}`,{term:e})}(e),e.value*f[e.unit]||0}(e.parameters[0])),new i.Nd(t)}(e);case"blur":return function(e){let t=0;return y(e.parameters,1),1===e.parameters.length&&(t=g(e.parameters[0]),d(t,e.parameters[0])),new i.Fk(t)}(e);case"drop-shadow":return function(e){const t=[];let r=null;for(const n of e.parameters)if("color"===n.type){if(t.length&&Object.freeze(t),r)throw new a.A("effect:type-error","Accepts only one color",{});r=v(n)}else{const e=g(n);if(Object.isFrozen(t))throw new a.A("effect:type-error","<length> parameters not consecutive",{lengths:t});t.push(e),3===t.length&&d(e,n)}if(t.length<2||t.length>3)throw new a.A("effect:type-error",`Expected <length>{2,3}, Actual: <length>{${t.length}}`,{lengths:t});return new i.$b(t[0],t[1],t[2]||0,r||L("black"))}(e);case"bloom":return function(e){let t=1,r=0,a=0;return y(e.parameters,3),e.parameters[0]&&(t=m(e.parameters[0])),e.parameters[1]&&(r=g(e.parameters[1]),d(r,e.parameters[1])),e.parameters[2]&&(a=m(e.parameters[2])),new i.bv(t,r,a)}(e)}}catch(t){throw t.details.filter=e,t}throw new a.A("effect:unknown-effect",`Effect '${e.name}' is not supported`,{effect:e})}(e)))}function y(e,t){if(e.length>t)throw new a.A("effect:type-error",`Function supports up to ${t} parameters, Actual: ${e.length}`,{parameters:e})}function p(e){if("color"===e.type)return"<color>";if(e.unit){if(e.unit in h)return"<length>";if(e.unit in f)return"<angle>";if("%"===e.unit)return"<percentage>"}return"<double>"}function d(e,t){if(e<0)throw new a.A("effect:type-error",`Negative values are not allowed, Actual: ${e}`,{term:t})}const f={deg:1,grad:.9,rad:180/Math.PI,turn:360},h={px:1,cm:96/2.54,mm:96/2.54/10,in:96,pc:16,pt:96/72};function m(e){!function(e){if("quantity"!==e.type||null!==e.unit&&"%"!==e.unit)throw new a.A("effect:type-error",`Expected <double> or <percentage>, Actual: ${p(e)}`,{term:e})}(e);const t=e.value;return d(t,e),"%"===e.unit?.01*t:t}function g(e){return function(e){if("quantity"!==e.type||!(0===e.value&&null===e.unit||e.unit&&null!=h[e.unit]))throw new a.A("effect:type-error",`Expected <length>, Actual: ${p(e)}`,{term:e})}(e),e.value*h[e.unit]||0}function v(e){switch(e.colorType){case"hex":return(0,s.j5)(e.value);case"named":return L(e.value);case"function":return function(e){if(y(e.parameters,4),b.test(e.name))return[m(e.parameters[0]),m(e.parameters[1]),m(e.parameters[2]),e.parameters[3]?m(e.parameters[3]):1];if(w.test(e.name))return(0,s.ay)(function(e){return function(e){if("quantity"!==e.type||null!==e.unit)throw new a.A("effect:type-error",`Expected <double>, Actual: ${p(e)}`,{term:e})}(e),d(e.value,e),e.value}(e.parameters[0]),m(e.parameters[1]),m(e.parameters[2]),e.parameters[3]?m(e.parameters[3]):1);throw new a.A("effect:syntax-error",`Invalid color function '${e.name}'`,{colorFunction:e})}(e.value)}}function L(e){if(!(0,s.V6)(e))throw new a.A("effect:unknown-color",`color '${e}' isn't valid`,{namedColor:e});return(0,s.c4)(e)}const b=/^rgba?/i,w=/^hsla?/i;function S(e,t,r){try{return function(e){if(!e||0===e.length)return null;if(function(e){const t=e[0];return!!t&&"scale"in t}(e)){const t=[];for(const r of e)t.push({scale:r.scale,value:A(r.value)});return t}return A(e)}(e)}catch(e){r?.messages?.push(e)}return null}function M(e,t,r,a){try{const a=function(e){const t=c(e);return t?(0,o.dw)(t)?t.map((e=>e.toJSON())):t.map((({scale:e,effects:t})=>({scale:e,value:t.map((e=>e.toJSON()))}))):null}(e);(0,n.sM)(r,a,t)}catch(e){a.messages&&a.messages.push(e)}}function A(e){if(!e?.length)return"";const t=[];for(const r of e){let e=[];switch(r.type){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":case"opacity":e=[I(r,"amount")];break;case"blur":e=[I(r,"radius","pt")];break;case"hue-rotate":e=[I(r,"angle","deg")];break;case"drop-shadow":e=[I(r,"xoffset","pt"),I(r,"yoffset","pt"),I(r,"blurRadius","pt"),x(r,"color")];break;case"bloom":e=[I(r,"strength"),I(r,"radius","pt"),I(r,"threshold")]}const a=`${r.type}(${e.filter(Boolean).join(" ")})`;c(a),t.push(a)}return t.join(" ")}function I(e,t,r){if(null==e[t])throw new a.A("effect:missing-parameter",`Missing parameter '${t}' in ${e.type} effect`,{effect:e});return r?e[t]+r:""+e[t]}function x(e,t){if(null==e[t])throw new a.A("effect:missing-parameter",`Missing parameter '${t}' in ${e.type} effect`,{effect:e});const r=e[t];return`rgba(${r[0]||0}, ${r[1]||0}, ${r[2]||0}, ${r[3]/255||0})`}},78553:(e,t,r)=>{r.d(t,{D:()=>s,p:()=>n});var a=r(56507);function n(e){const t=(0,a.Vr)(100*(1-e));return Math.max(0,Math.min(t,100))}function s(e){const t=1-e/100;return Math.max(0,Math.min(t,1))}},81583:(e,t,r)=>{r.d(t,{L:()=>o,g:()=>i});var a=r(60999),n=r(5503),s=r(92474);async function i(e,t){return await e.load(),o(e,t)}async function o(e,t){const r=[],i=(...e)=>{for(const t of e)null!=t&&(Array.isArray(t)?i(...t):n.A.isCollection(t)?t.forEach((e=>i(e))):s.A.isLoadable(t)&&r.push(t))};t(i);let o=null;if(await(0,a.Tj)(r,(async e=>{const t=await(0,a.Ke)(function(e){return"loadAll"in e&&"function"==typeof e.loadAll}(e)?e.loadAll():e.load());!1!==t.ok||o||(o=t)})),o)throw o.error;return e}},85989:(e,t,r)=>{r.r(t),r.d(t,{default:()=>$});var a=r(90237),n=r(38961),s=r(81583),i=r(53966),o=r(92071),l=r(74887),c=r(36708),u=r(10107),y=(r(44208),r(87811),r(88620)),p=r(36005),d=r(40608),f=r(43937),h=r(35666),m=r(4146),g=r(63074),v=r(16131),L=r(8303),b=r(25036),w=r(75356),S=r(4513),M=r(80812),A=r(5503),I=r(62885);function x(e,t,r){let a,n;if(e)for(let s=0,i=e.length;s<i;s++){if(a=e.at(s),a?.[t]===r)return a;if("group"===a?.type&&(n=x(a.layers,t,r),n))return n}}const _=e=>{let t=class extends e{constructor(...e){super(...e),this.layers=new A.A;const t=e=>{e.parent=this,this.layerAdded(e),"elevation"!==e.type&&"base-elevation"!==e.type||i.A.getLogger(this).error(`Layer 'title:${e.title}, id:${e.id}' of type '${e.type}' is not supported as an operational layer and will therefore be ignored.`)},r=e=>{e.parent=null,this.layerRemoved(e)};this.addHandles([this.layers.on("before-add",(e=>{if(e.item===this)return e.preventDefault(),void i.A.getLogger(this).error("#add()","Cannot add layer to itself.");(e=>{e.parent&&"remove"in e.parent&&e.parent.remove(e)})(e.item)})),this.layers.on("after-add",(e=>t(e.item))),this.layers.on("after-remove",(e=>r(e.item)))])}destroy(){const e=this.layers.toArray();for(const t of e)t.destroy();this.layers.destroy()}set layers(e){this._set("layers",(0,I.V)(e,this._get("layers")))}add(e,t){const r=this.layers;if(t=r.getNextIndex(t),e instanceof m.A){const a=e;a.parent===this?this.reorder(a,t):r.add(a,t)}else(0,l.$X)(e)?e.then((e=>{this.destroyed||this.add(e,t)})):i.A.getLogger(this).error("#add()","The item being added is not a Layer or a Promise that resolves to a Layer.")}addMany(e,t){const r=this.layers;let a=r.getNextIndex(t);e.slice().forEach((e=>{e.parent!==this?(r.add(e,a),a+=1):this.reorder(e,a)}))}findLayerById(e){return x(this.layers,"id",e)}findLayerByUid(e){return x(this.layers,"uid",e)}remove(e){return this.layers.remove(e)}removeMany(e){return this.layers.removeMany(e)}removeAll(){return this.layers.removeAll()}reorder(e,t){return this.layers.reorder(e,t)}layerAdded(e){}layerRemoved(e){}};return(0,a._)([(0,u.MZ)()],t.prototype,"layers",null),t=(0,a._)([(0,d.$)("esri.support.LayersMixin")],t),t},T=new Set(["feature","subtype-group"]);function C(e,t,r){if(e)for(let a=0,n=e.length;a<n;a++){const n=e.at(a);if(n[t]===r)return n;if("group"===n?.type){const e=C(n.tables,t,r);if(e)return e}}}const G=e=>{let t=class extends e{constructor(...e){super(...e),this.tables=new A.A,this.addHandles([this.tables.on("after-add",(e=>{const t=e.item;t.parent&&t.parent!==this&&"tables"in t.parent&&t.parent.tables.remove(t),t.parent=this,T.has(t.type)||i.A.getLogger(this).error(`Layer 'title:${t.title}, id:${t.id}' of type '${t.type}' is not supported as a table and will therefore be ignored.`)})),this.tables.on("after-remove",(e=>{e.item.parent=null}))])}destroy(){const e=this.tables.toArray();for(const t of e)t.destroy();this.tables.destroy()}set tables(e){this._set("tables",(0,I.V)(e,this._get("tables")))}findTableById(e){return C(this.tables,"id",e)}findTableByUid(e){return C(this.tables,"uid",e)}};return(0,a._)([(0,u.MZ)()],t.prototype,"tables",null),t=(0,a._)([(0,d.$)("esri.support.TablesMixin")],t),t},F=Symbol("WebScene");var P=r(92935),O=r(26121),N=r(751);let E=class extends((0,g.dM)((0,b.j)((0,v.q)((0,L.A)(G(_((0,o.P)(m.A)))))))){constructor(e){var t;super(e),this.allLayers=new n.A({getCollections:()=>[this.layers],getChildrenFunction:e=>"layers"in e?e.layers:null}),this.allTables=(t=this,new n.A({getCollections:()=>[t.tables,t.layers],getChildrenFunction:e=>{const t=[];return"tables"in e&&t.push(e.tables),"layers"in e&&t.push(e.layers),t},itemFilterFunction:e=>{const t=e.parent;return!!t&&"tables"in t&&t.tables.includes(e)}})),this.fullExtent=void 0,this.operationalLayerType="GroupLayer",this.spatialReference=void 0,this.type="group",this._debouncedSaveOperations=(0,l.sg)((async(e,t,a)=>{const{save:n,saveAs:s}=await r.e(2958).then(r.bind(r,32958));switch(e){case P.X.SAVE:return n(this,t);case P.X.SAVE_AS:return s(this,a,t)}}))}initialize(){this._enforceVisibility(this.visibilityMode,this.visible),this.addHandles([(0,c.wB)((()=>{let e=this.parent;for(;e&&"parent"in e&&e.parent;)e=e.parent;return e&&F in e}),(e=>{const t="prevent-adding-tables";this.removeHandles(t),e&&(this.tables.removeAll(),this.addHandles((0,c.on)((()=>this.tables),"before-add",(e=>{e.preventDefault(),i.A.getLogger(this).errorOnce("tables","tables in group layers in a webscene are not supported. Please move the tables from the group layer to the webscene if you want to persist them.")})),t))}),c.pc),(0,c.wB)((()=>this.visible),this._onVisibilityChange.bind(this),c.OH)])}destroy(){this.allLayers.destroy(),this.allTables.destroy()}get sourceIsPortalItem(){return this.portalItem&&this.originIdOf("portalItem")===h.Gr.USER}_writeLayers(e,t,r,a){const n=[];if(!e)return n;e.forEach((e=>{const t=(0,N.CJ)(e,a.webmap?a.webmap.getLayerJSONFromResourceInfo(e):null,a);t?.layerType&&n.push(t)})),t.layers=n}set portalItem(e){this._set("portalItem",e)}readPortalItem(e,t,r){const{itemId:a,layerType:n}=t;if("GroupLayer"===n&&a)return new M.default({id:a,portal:r?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}set visibilityMode(e){const t=this._get("visibilityMode")!==e;this._set("visibilityMode",e),t&&this._enforceVisibility(e,this.visible)}async beforeSave(){return(0,O.dL)(this)}load(e){const t=this.loadFromPortal({supportedTypes:["Feature Service","Feature Collection","Group Layer","Scene Service"],layerModuleTypeMap:S.S,populateGroupLayer:w.N},e).catch((e=>{if((0,l.QP)(e),this.sourceIsPortalItem)throw e}));return this.addResolvingPromise(t),Promise.resolve(this)}async loadAll(){return(0,s.g)(this,(e=>{e(this.layers,this.tables)}))}async save(e){return this._debouncedSaveOperations(P.X.SAVE,e)}async saveAs(e,t){return this._debouncedSaveOperations(P.X.SAVE_AS,t,e)}layerAdded(e){e.visible&&"exclusive"===this.visibilityMode?this._turnOffOtherLayers(e):"inherited"===this.visibilityMode&&(e.visible=this.visible),this.hasHandles(e.uid)?console.error(`Layer read to Grouplayer: uid=${e.uid}`):this.addHandles((0,c.wB)((()=>e.visible),(t=>this._onChildVisibilityChange(e,t)),c.OH),e.uid)}layerRemoved(e){this.removeHandles(e.uid),this._enforceVisibility(this.visibilityMode,this.visible)}_turnOffOtherLayers(e){this.layers.forEach((t=>{t!==e&&(t.visible=!1)}))}_enforceVisibility(e,t){if(!(0,y.oY)(this).initialized)return;const r=this.layers;let a=r.find((e=>e.visible));switch(e){case"exclusive":r.length&&!a&&(a=r.at(0),a.visible=!0),this._turnOffOtherLayers(a);break;case"inherited":r.forEach((e=>{e.visible=t}))}}_onVisibilityChange(e){"inherited"===this.visibilityMode&&this.layers.forEach((t=>{t.visible=e}))}_onChildVisibilityChange(e,t){switch(this.visibilityMode){case"exclusive":t?this._turnOffOtherLayers(e):this._isAnyLayerVisible()||(e.visible=!0);break;case"inherited":e.visible=this.visible}}_isAnyLayerVisible(){return this.layers.some((e=>e.visible))}};(0,a._)([(0,u.MZ)({readOnly:!0,dependsOn:[]})],E.prototype,"allLayers",void 0),(0,a._)([(0,u.MZ)({readOnly:!0})],E.prototype,"allTables",void 0),(0,a._)([(0,u.MZ)({json:{read:!0,write:!0}})],E.prototype,"blendMode",void 0),(0,a._)([(0,u.MZ)()],E.prototype,"fullExtent",void 0),(0,a._)([(0,u.MZ)({readOnly:!0})],E.prototype,"sourceIsPortalItem",null),(0,a._)([(0,u.MZ)({json:{read:!1,write:{ignoreOrigin:!0}}})],E.prototype,"layers",void 0),(0,a._)([(0,f.K)("layers")],E.prototype,"_writeLayers",null),(0,a._)([(0,u.MZ)({type:["GroupLayer"]})],E.prototype,"operationalLayerType",void 0),(0,a._)([(0,u.MZ)({json:{origins:{"web-map":{read:!1,write:{overridePolicy(e,t,r){return{enabled:"Group Layer"===e?.type&&r?.initiator!==this}}}},"web-scene":{read:!1,write:!1}}}})],E.prototype,"portalItem",null),(0,a._)([(0,p.w)("web-map","portalItem",["itemId"])],E.prototype,"readPortalItem",null),(0,a._)([(0,f.K)("web-map","portalItem",{itemId:{type:String}})],E.prototype,"writePortalItem",null),(0,a._)([(0,u.MZ)()],E.prototype,"spatialReference",void 0),(0,a._)([(0,u.MZ)({json:{read:!1},readOnly:!0,value:"group"})],E.prototype,"type",void 0),(0,a._)([(0,u.MZ)({type:["independent","inherited","exclusive"],value:"independent",json:{write:!0,origins:{"web-map":{type:["independent","exclusive"],write:(e,t,r)=>{"inherited"!==e&&(t[r]=e)}}}}})],E.prototype,"visibilityMode",null),E=(0,a._)([(0,d.$)("esri.layers.GroupLayer")],E);const $=E},90629:(e,t,r)=>{r.d(t,{Lz:()=>i,PN:()=>o,cr:()=>l,tc:()=>c});const a=/^-?(\d+(\.\d+)?)\s*((px)|(pt))?$/i,n="screenUtils.toPt: input not recognized!",s=96;function i(e){return e?e/72*s:0}function o(e){return e?72*e/s:0}function l(e){if("string"==typeof e){const t=e.match(a);if(t){const r=Number(t[1]),a=t[3]&&t[3].toLowerCase(),n="-"===e.charAt(0),s="px"===a?o(r):r;return n?-s:s}return console.warn(n),null}return e}function c(e=0,t=0){return{x:e,y:t}}},92935:(e,t,r)=>{var a;r.d(t,{X:()=>a}),function(e){e[e.SAVE=0]="SAVE",e[e.SAVE_AS=1]="SAVE_AS"}(a||(a={}))}}]);
|