@arcgis/core 4.33.0-next.20250206 → 4.33.0-next.20250207
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/arcade.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0a8e388e96af44deeabb.js +1 -0
- package/assets/esri/core/workers/chunks/{38cd7745b8ef1b8b6196.js → 12d6baeffd55a98a7c75.js} +1 -1
- package/assets/esri/core/workers/chunks/143a193fa3a6e645c8ac.js +1 -0
- package/assets/esri/core/workers/chunks/308ec51ff4a66f7fcb0d.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{72cf9192292e5c85c6df.js → 32d3657dcae89b740f8b.js} +2 -2
- package/assets/esri/core/workers/chunks/{72cf9192292e5c85c6df.js.LICENSE.txt → 32d3657dcae89b740f8b.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/354531dc2f0dea2ad96f.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/35e4af82a08b4eadbfab.js +1 -0
- package/assets/esri/core/workers/chunks/369a2b8484a8807bde38.js +1 -0
- package/assets/esri/core/workers/chunks/4040158835f9036967cd.js +2 -0
- package/assets/esri/core/workers/chunks/{1a2e1a414e651e988435.js.LICENSE.txt → 4040158835f9036967cd.js.LICENSE.txt} +1 -6
- package/assets/esri/core/workers/chunks/459af0c3d62c3ed11c19.js +1 -0
- package/assets/esri/core/workers/chunks/53810519ff5922b42cd2.js +1 -0
- package/assets/esri/core/workers/chunks/{15f850c9a1154fc57e5a.js → 5721557a1d8eab23a55b.js} +1 -1
- package/assets/esri/core/workers/chunks/594d923400fd74881833.js +1 -0
- package/assets/esri/core/workers/chunks/62a1d60ad4bf6469c4dd.js +1 -0
- package/assets/esri/core/workers/chunks/{81aa8cc289fd02ca4da6.js → 7058001bf66f9f3d5d45.js} +1 -1
- package/assets/esri/core/workers/chunks/{e8ae8a11d8439e2a66ad.js → 706f867a9034d62a8ef7.js} +1 -1
- package/assets/esri/core/workers/chunks/77764ca90bdd13ee2167.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{1ab83753d9eec0463461.js → 7b367bb0ed9c218ca595.js} +1 -1
- package/assets/esri/core/workers/chunks/8191dd3d7451b2e7b95e.js +1 -0
- package/assets/esri/core/workers/chunks/8c32cee395da0a7b9a8e.js +1 -0
- package/assets/esri/core/workers/chunks/{48ecc5a74fecbb2b9c6f.js → 8d8f5f08d730270e1165.js} +1 -1
- package/assets/esri/core/workers/chunks/94225d92afbdb10dfedb.js +1 -0
- package/assets/esri/core/workers/chunks/94490937dca566fe2640.js +1 -0
- package/assets/esri/core/workers/chunks/{b9ce0049e27a3e1ed9f9.js → 9b2fab133786e5d47631.js} +1 -1
- package/assets/esri/core/workers/chunks/{28374a64790342e1b5ae.js → 9d61590c4d21c7421925.js} +1 -1
- package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{5a25cef6355fd20e44e7.js → b765670b47d209d7655a.js} +2 -2
- package/assets/esri/core/workers/chunks/{5a25cef6355fd20e44e7.js.LICENSE.txt → b765670b47d209d7655a.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/d29c3bf29fcd7fa31f1a.js +1 -0
- package/assets/esri/core/workers/chunks/d339dee99c4820b63f39.js +1 -0
- package/assets/esri/core/workers/chunks/de1f3c4b8000c2d73013.js +1 -0
- package/assets/esri/core/workers/chunks/e4b3f2d5c43518b0cde7.js +1 -0
- package/assets/esri/core/workers/chunks/e5e3b6d00d27b5bb354f.js +1 -0
- package/assets/esri/core/workers/chunks/f14b318bab5efcf43419.js +1 -0
- package/assets/esri/core/workers/chunks/{24e47f748f0e4f815c6e.js → f32ca4381e804cc3481e.js} +1 -1
- package/assets/esri/core/workers/chunks/f9070edd8e0b2a57af79.js +1 -0
- package/assets/esri/themes/base/widgets/_ItemList.scss +6 -0
- 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/interfaces.d.ts +58 -56
- package/layers/FeatureLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/WCSLayer.js +1 -1
- package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
- package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
- package/layers/graphics/sources/support/clientSideDefaults.js +1 -1
- package/layers/graphics/sources/support/sourceUtils.js +1 -1
- package/layers/mixins/BlendLayer.js +1 -1
- package/layers/mixins/FeatureLayerBase.js +1 -1
- package/layers/mixins/OperationalLayer.js +1 -1
- package/layers/mixins/operationalLayerModuleMap.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/arcadeUtils.js +1 -1
- package/layers/support/commonProperties.js +1 -1
- package/layers/support/layersCreator.js +1 -1
- package/package.json +2 -2
- package/portal/support/layersLoader.js +1 -1
- package/portal/support/loadUtils.js +1 -1
- package/rest/imageService.js +1 -1
- package/rest/support/ImageSampleParameters.js +1 -1
- package/rest/support/ImageSampleResult.js +1 -1
- package/rest/support/ImageVolumeResult.js +1 -1
- package/support/TablesMixin.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/fitVectorMarker.js +5 -0
- package/symbols/support/previewCIMSymbol.js +1 -1
- package/views/2d/engine/webgl/TextureManager.js +1 -1
- package/views/2d/layers/features/schema/SourceSchema.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
- package/views/2d/layers/features/sources/strategies/DrillDownTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/PagedTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/SnapshotLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/StreamLoadStrategy.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/VisibleElements.js +1 -1
- package/widgets/Editor/components/FeatureList.js +1 -1
- package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/07bff9e742f3e5877f3f.js +0 -1
- package/assets/esri/core/workers/chunks/1a2e1a414e651e988435.js +0 -2
- package/assets/esri/core/workers/chunks/287362f9af132fafe4de.js +0 -1
- package/assets/esri/core/workers/chunks/2adc533dadcb018a9755.js +0 -1
- package/assets/esri/core/workers/chunks/2ea5e5e6c4660a06b516.js +0 -1
- package/assets/esri/core/workers/chunks/3984bf01f055fc42bfbf.js +0 -1
- package/assets/esri/core/workers/chunks/41cd1a5c99ab3bbd1fb4.js +0 -1
- package/assets/esri/core/workers/chunks/5e7f16b312077ca8c18d.js +0 -1
- package/assets/esri/core/workers/chunks/6ef2514a6b7bbfb8e37d.js +0 -1
- package/assets/esri/core/workers/chunks/82d26884127ed772cc4b.js +0 -1
- package/assets/esri/core/workers/chunks/918bdba41fa470cf77fd.js +0 -1
- package/assets/esri/core/workers/chunks/91d2bdfa6e34c10b7f50.js +0 -1
- package/assets/esri/core/workers/chunks/991e0f619f1f81f94d56.js +0 -1
- package/assets/esri/core/workers/chunks/9a27824d94df702e6e28.js +0 -1
- package/assets/esri/core/workers/chunks/c1fd87af3129873369fd.js +0 -1
- package/assets/esri/core/workers/chunks/c4c2b94e5cee7b824093.js +0 -1
- package/assets/esri/core/workers/chunks/c85374360ac5e169af16.js +0 -1
- package/assets/esri/core/workers/chunks/c94ec324ecad77c53a87.js +0 -1
- package/assets/esri/core/workers/chunks/d175953337fa655dc6b0.js +0 -1
- package/assets/esri/core/workers/chunks/e26dc0c1654316bb1558.js +0 -1
package/widgets/Editor.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{mappedFind as t,abortMaybe as s,destroyMaybe as o}from"../core/maybe.js";import{createResolver as i}from"../core/promiseUtils.js";import{watch as r,initial as a,on as n,when as l}from"../core/reactiveUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as c}from"../core/accessorSupport/decorators/subclass.js";import m from"../views/interactive/sketch/SketchValueOptions.js";import h from"./Attachments.js";import p from"./FeatureForm.js";import u from"./FeatureTemplates.js";import g from"./Spinner.js";import w from"./Widget.js";import{css as v}from"./Editor/css.js";import _ from"./Editor/EditorViewModel.js";import{isModelUpload as f}from"./Editor/modelUploadUtils.js";import k from"./Editor/VisibleElements.js";import{loadCreateFeaturesPanelContentComponents as y,CreateFeaturesPanelContent as b}from"./Editor/components/CreateFeaturesPanelContent.js";import{loadFeatureListComponents as F,FeatureList as M}from"./Editor/components/FeatureList.js";import{loadFooterActionsComponents as A,FooterActions as T}from"./Editor/components/FooterActions.js";import{loadNoticesComponents as C,Notice as E}from"./Editor/components/Notices.js";import{loadPanelContentComponents as P,PanelContent as W,PanelContentSection as L,PanelContentMessage as j}from"./Editor/components/PanelContent.js";import{PanelToolbar as S,loadPanelToolbarComponents as I}from"./Editor/components/PanelToolbar.js";import{loadPromptComponents as U,Prompt as D}from"./Editor/components/Prompt.js";import{loadUpdateFeaturePanelContentComponents as O,UpdateFeaturePanelContent as V}from"./Editor/components/UpdateFeaturePanelContent.js";import{loadUploadDetailsComponents as x,UploadDetails as B}from"./Editor/components/UploadDetails.js";import{VisibleElements as R,CreateToolVisibilityMap as G}from"./Sketch/VisibleElements.js";import{loadCalciteComponents as z}from"./support/componentsUtils.js";import{globalCss as H}from"./support/globalCss.js";import{incrementHeadingLevel as q,Heading as N}from"./support/Heading.js";import{renderItem as K}from"./support/ItemList.js";import{connectDelayedLoading as $}from"./support/loaderUtils.js";import"./support/widgetUtils.js";import{messageBundle as J}from"./support/decorators/messageBundle.js";import{vmEvent as Q}from"./support/decorators/vmEvent.js";import{tsx as X}from"./support/jsxFactory.js";import{substitute as Y}from"../intl/substitute.js";const Z=Symbol("sketch-setup-handles");let ee=class extends w{constructor(e,t){super(e,t),this._featureForm=new p,this._sketchToolbar=null,this._attachments=new h({visibleElements:{addSubmitButton:!1,cancelAddButton:!1,cancelUpdateButton:!1,deleteButton:!1,errorMessage:!1,progressBar:!1,updateButton:!1}}),this._featureTemplates=new u({enableListScroll:!1,renderItemContentEnd:e=>e.supportsUpload?X("calcite-icon",{class:v.templateItemContentEnd,icon:"upload-to",key:"upload-icon"}):null,renderItemLabel:e=>e.label,renderCustomGroupContent:e=>this._renderCustomTemplateGroupContent(e)}),this._filterText="",this._prompt=null,this._spinner=new g,this._loading=!1,this.headingLevel=4,this.messages=null,this.messagesCommon=null,this.messagesTemplates=null,this.messagesFeature=null,this.supportingWidgetDefaults=null,this.viewModel=new _,this.visibleElements=new k,this._renderAttachments=()=>this._attachments.render(),this._renderFeatureForm=()=>this._featureForm.render(),this._renderFeatureTemplates=()=>this._featureTemplates.render(),this._renderSketch=()=>this._sketchToolbar?X("div",{class:v.sketchContainer,key:"editor-sketch-container"},this._sketchToolbar?.render()):void 0,this._renderSelectIcon=()=>X("calcite-icon",{icon:"cursor",slot:"content-start"}),this.EditorPanel=({heading:e,key:t,selected:s},...o)=>{const{visibleElements:i}=this;return X("calcite-flow-item",{closable:!1,heading:e,headingLevel:this.headingLevel,key:t,loading:this._loading,selected:s,onCalciteFlowItemBack:this._onBack},i.settingsMenu?X(S,{editorViewModel:this.viewModel,messagesCommon:this.messagesCommon,visibleElements:i}):null,...o)},this._showDiscardEditsPrompt=()=>{const{messages:e,activeWorkflow:t}=this,s={title:e.cancelEditTitle,message:e.cancelEditWarningMessage,yesLabel:e.discardEdits,noLabel:e.continueEditing};return"create-features"===t?.type&&f(t.data.creationInfo)?this._showPromptAndWait("success"===t.data.upload?.state?e.modelUploads.cancelPlacementPrompt:e.modelUploads.cancelUploadPrompt):"update"===t?.type&&t.activeFeatureFormViewModel?.activeAssociation?this._showPromptAndWait({...s,message:e.cancelAssociationEditWarning}):this._showPromptAndWait(s)},this._showGenericCancelPrompt=()=>{const{messages:e,messagesCommon:t}=this;return this._showPromptAndWait({title:e.cancelRequestTitle,message:e.cancelRequestWarningMessage,yesLabel:t.form.yes,noLabel:t.form.no})},this._showPrompt=e=>{this._prompt?.cancel?.(),this._prompt=e},this._clearPrompt=()=>{this._prompt=null},this._onSave=()=>{this.viewModel.saveWorkflow()},this._onDelete=()=>{const{messages:e,messagesCommon:t}=this;this._showPrompt({title:e.deleteWarningTitle,message:e.deleteWarningMessage,context:"danger",actions:{primary:{label:t.delete,action:()=>{this.deleteFeatureFromWorkflow(),this._clearPrompt()}},secondary:{label:e.keepFeature,action:this._clearPrompt}}})},this._onDeleteAssociation=()=>{const{messages:e,messagesCommon:t}=this;this._showPrompt({title:e.deleteAssociationTitle,message:e.deleteAssociationMessage,context:"danger",actions:{primary:{label:t.delete,action:()=>{this.deleteAssociationFromWorkflow(),this._clearPrompt()}},secondary:{label:e.keepAssociation,action:this._clearPrompt}}})},this._onToggleUpdateWorkflow=()=>this.viewModel.toggleUpdateWorkflow(),this._onBack=e=>(e?.stopPropagation(),this.viewModel.back()),this._onAttachmentAdd=()=>{const{activeWorkflow:e}=this.viewModel;e&&("create-features"===e.type||"update"===e.type&&"create-features"===e.activeWorkflow?.type?(this._attachments.addFile(),e.back()):this._attachments.addAttachment().then((()=>e.back())))},this._onAttachmentUpdate=()=>{const{activeWorkflow:e}=this.viewModel;e&&("create-features"===e.type?(this._attachments.updateFile(),e.back()):this._attachments.updateAttachment().then((()=>e.back())))},this._onAttachmentDelete=()=>{const{messages:e,messagesCommon:t}=this;this._showPrompt({title:e.deleteAttachmentWarningTitle,message:e.deleteAttachmentWarningMessage,context:"danger",actions:{primary:{label:t.delete,action:this._onAttachmentDeleteConfirm},secondary:{label:e.keepAttachment,action:this._clearPrompt}}})},this._onAttachmentDeleteConfirm=async()=>{const e=this._attachments,{activeWorkflow:t}=this.viewModel;t&&("create-features"===t.type?e.deleteFile():(await e.deleteAttachment(e.viewModel.activeAttachmentInfo),this._clearPrompt()),await t.back(),this._clearPrompt())},this._onAttachmentsError=e=>{this._showPrompt({title:this.messages.errorWarningTitle,message:e.message,context:"warning",actions:{primary:{label:this.messagesCommon.form.ok,action:this._clearPrompt}}})}}initialize(){this._featureForm.showPrompt=this._showPrompt,this._featureForm.clearPrompt=this._clearPrompt,this.addHandles([r((()=>q(this.headingLevel)),(e=>{this._featureForm.headingLevel=e,this._featureTemplates.headingLevel=e}),a),n((()=>this.viewModel.activeWorkflow),"cancel-request",(({controller:e})=>{(this.viewModel.hasPendingEdits?this._showDiscardEditsPrompt():this._showGenericCancelPrompt()).then((t=>t?e.allow():e.deny()))})),l((()=>this.viewModel.featureFormViewModel),(e=>{this._featureForm.viewModel=e}),a),r((()=>this.viewModel),(e=>{this._attachments.viewModel=e?.attachmentsViewModel??null,this._featureTemplates.viewModel=e?.featureTemplatesViewModel??null,this._spinner.viewModel=e?.spinnerViewModel??null,e.showDiscardEditsPrompt=this._showDiscardEditsPrompt}),a),r((()=>this.view),((e,t)=>{const s=`editor-${this.id}-spinner`;t?.ui.remove(this._spinner,s),e?.ui.add(this._spinner,{key:s,position:"manual"})}),a),r((()=>[this.supportingWidgetDefaults,this.viewModel.sketchViewModel]),(([e])=>{e&&(this._featureForm.set(e.featureForm),this._attachments.set(e.attachments),this._featureTemplates.set(e.featureTemplates),this.viewModel.sketchViewModel?.set(e.sketch))}),a),l((()=>this._attachments?.error),(e=>this._onAttachmentsError(e))),l((()=>this.viewModel?.failures),(e=>{const{messages:t}=this,[{error:s,retry:o,cancel:i}]=e;this._showPrompt({title:t.errorWarningTitle,message:Y(t.errorWarningMessageTemplate,{errorMessage:s.message}),context:"warning",actions:{primary:{label:t.retry,action:()=>{o(),this._clearPrompt()}},secondary:{label:t.ignore,action:()=>{i(),this._clearPrompt()}}}})})),r((()=>this.viewModel?.state),(e=>{switch(e){case"awaiting-feature-to-update":case"ready":case"disabled":this._filterText="",this._featureTemplates.filterText=""}})),r((()=>this.viewModel.featureFormDisabled),(e=>this._featureForm.disabled=e)),r((()=>this.visibleElements.sketch),(()=>this._setupSketch()),a),$({getLoading:()=>{const{viewModel:e}=this;return e.syncing||e.updating||this._attachments.submitting},setEffectiveLoading:e=>{this._loading=e}})])}destroy(){this._attachments.destroy(),this._featureForm.destroy(),this._featureTemplates.destroy()}loadDependencies(){return Promise.all([z({flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),list:()=>import("@esri/calcite-components/dist/components/calcite-list")}),y(),F(),A(),C(),P(),I(),U(),O(),x()])}get _deleteButtonCommonInfo(){return{appearance:"outline",kind:"danger"}}get activeWorkflow(){return this.viewModel.activeWorkflow}get hideTemplatesForInactiveLayers(){return this.viewModel.hideTemplatesForInactiveLayers}set hideTemplatesForInactiveLayers(e){this.viewModel.hideTemplatesForInactiveLayers=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 layerInfos(){return this.viewModel.layerInfos}set layerInfos(e){this.viewModel.layerInfos=e}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get tooltipOptions(){return this.viewModel.tooltipOptions}set tooltipOptions(e){this.viewModel.tooltipOptions=e}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}startCreateFeaturesWorkflowAtFeatureTypeSelection(){return this.viewModel.startCreateFeaturesWorkflowAtFeatureTypeSelection()}startCreateFeaturesWorkflowAtFeatureCreation(e){return this.viewModel.startCreateFeaturesWorkflowAtFeatureCreation(e)}startCreateFeaturesWorkflowAtFeatureEdit(e){return this.viewModel.startCreateFeaturesWorkflowAtFeatureEdit(e)}startUpdateWorkflowAtFeatureSelection(){return this.viewModel.startUpdateWorkflowAtFeatureSelection()}startUpdateWorkflowAtMultipleFeatureSelection(e){return this.viewModel.startUpdateWorkflowAtMultipleFeatureSelection(e)}startUpdateWorkflowAtFeatureEdit(e){return this.viewModel.startUpdateWorkflowAtFeatureEdit(e)}deleteFeatureFromWorkflow(){return this.viewModel.deleteFeatureFromWorkflow()}deleteAssociationFromWorkflow(){return this.viewModel.deleteAssociationFromWorkflow()}cancelWorkflow(e){return this.viewModel.cancelWorkflow(e)}render(){const{visibleElements:e,viewModel:t}=this,s=this.classes(v.base,H.widget,H.panel);if(!t)return X("div",{class:s,key:"empty"});const{pageStack:o}=t,i=o.length-1,r=o.map(((e,t)=>this._renderPage(e,t===i)));return X("div",{class:s,key:"base"},e.flow?X("calcite-flow",{key:"flow"},r):r,this._prompt?X(D,{...this._prompt,headingLevel:this.headingLevel}):void 0)}_renderPage(e,t){const s={selected:t};switch(e){case"disabled":break;case"ready":return this._renderReady(s);case"awaiting-feature-creation-info":return this._renderAwaitingFeatureCreationInfo(s);case"creating-features-upload-details":return this._renderUploadDetails(s);case"creating-features":return this._renderCreatingFeatures(s);case"editing-existing-feature":case"editing-attributes":return this._renderUpdateFeature(s);case"awaiting-update-feature-candidate":return this._renderFeatureList(s);case"adding-attachment":return this._renderAttachmentAdding(s);case"editing-attachment":return this._renderAttachmentEditing(s);case"viewing-associated-layers":case"viewing-associated-features":return this._renderViewAssociatedLayers(s)}return X("div",{key:"empty-page"})}_renderAwaitingFeatureCreationInfo(e){const{EditorPanel:t,messages:s}=this;return X(t,{heading:s.selectTemplate,key:"templates-panel",...e},X(W,{key:"feature-templates"},X(L,null,this._renderFeatureTemplates())))}_renderUploadDetails(e){const{EditorPanel:t,activeWorkflow:s,messages:o}=this;if("create-features"!==s?.type)return null;const i=s.data.upload;return i?X(t,{heading:o.createFeatures,key:"upload-details-panel",...e},X(B,{helpMessage:this._helpMessage,messages:o,upload:i})):null}_renderCreatingFeatures(e){const{EditorPanel:t,activeWorkflow:s,messages:o,messagesCommon:i,headingLevel:r,viewModel:a}=this;if(!s)return null;const n="create-features"===s.type&&s.numPendingFeatures>0||"update"===s.type&&"create-features"===s?.activeWorkflow?.type&&s.activeWorkflow?.numPendingFeatures>0;return X(t,{heading:o.createFeatures,key:"create-features-panel",...e},n?X(V,{editorViewModel:a,headingLevel:r,messages:o,messagesCommon:i,renderAttachments:this._renderAttachments,renderFeatureForm:this._renderFeatureForm,renderSketchToolbar:this._renderSketch,onDelete:this._onDelete,onDeleteAssociation:this._onDeleteAssociation,onSave:this._onSave}):X(b,{helpMessage:this._helpMessage,renderSketchToolbar:this._renderSketch}))}_renderUpdateFeature(e){const{EditorPanel:t,messages:s,messagesCommon:o,headingLevel:i,viewModel:r}=this;return X(t,{heading:s.editFeature,key:"update-feature-panel",...e},X(V,{editorViewModel:r,headingLevel:i,messages:s,messagesCommon:o,renderAttachments:this._renderAttachments,renderFeatureForm:this._renderFeatureForm,renderSketchToolbar:this._renderSketch,onDelete:this._onDelete,onDeleteAssociation:this._onDeleteAssociation,onSave:this._onSave}))}_getAssociationTypeTitle(e){if(!e)return null;if(e.title)return e.title;const{messagesFeature:t}=this;switch(e.type){case"attachment":return t.associationsAttachments;case"connectivity":return t.associationsConnectivity;case"structure":return t.associationsStructure;case"content":return t.associationsContents;case"container":return t.associationsContainer}}_renderViewAssociatedLayers(e){const{EditorPanel:t,messages:s,messagesCommon:o,headingLevel:i,viewModel:r}=this,a=r.featureFormViewModel?.activeAssociationInput?.activeAssociationType,n=this._getAssociationTypeTitle(a)??s.editFeature;return X(t,{heading:n,key:"viewing-associated-layers-panel",...e},X(V,{editorViewModel:r,headingLevel:i,messages:s,messagesCommon:o,renderAttachments:this._renderAttachments,renderFeatureForm:this._renderFeatureForm,renderSketchToolbar:this._renderSketch,onDelete:this._onDelete,onDeleteAssociation:this._onDeleteAssociation,onSave:this._onSave}))}_renderCustomTemplateGroupContent(e){const{messages:s,viewModel:o}=this,i=t(e.group.items,(e=>o.itemHasInvalidFormTemplate(e)?s.formFieldCreateError:void 0));return i?X(E,{kind:"warning",message:i}):null}_renderAttachmentAdding(e){const{EditorPanel:t,_attachments:s,messages:o,messagesCommon:i}=this;return X(t,{heading:o.addAttachment,key:"attachment-adding-panel",...e},X(W,{key:"attachments"},this._renderAttachments()),X(T,{buttons:[{label:s.submitting?i.cancel:i.add,disabled:s.submitting||!s.selectedFile,onClick:this._onAttachmentAdd,type:"button"}]}))}_renderAttachmentEditing(e){const{EditorPanel:t,_attachments:s,activeWorkflow:o,messages:i,messagesCommon:r}=this;return o?X(t,{heading:i.editAttachment,key:"attachment-editing-panel",...e},X(W,{key:"attachments"},this._renderAttachments()),o.shouldAllowAttachmentEditing?X(T,{buttons:[{label:r.update,disabled:s.submitting||!s.selectedFile,onClick:this._onAttachmentUpdate,type:"button"},{...this._deleteButtonCommonInfo,onClick:this._onAttachmentDelete,disabled:s.submitting,label:r.delete,type:"button"}]}):void 0):null}_renderReady(e){const{EditorPanel:t,messages:s,viewModel:o,visibleElements:i}=this,r=this._helpMessage;return X(t,{heading:s.widgetLabel,key:"landing-panel",...e},X(W,{key:"landing-content"},o.editorItems.length?[i.editFeaturesSection?X(L,{key:"edit-actions"},this._renderUpdateActions()):null,i.createFeaturesSection&&o.canCreateVisible?X(L,{key:"create-actions"},this._renderCreateActions()):null]:X(j,{key:"no-content"},s.noEditableLayers)),r?X("div",{class:v.helpMessage,key:"footer-actions",slot:"footer"},r):void 0)}get _helpMessage(){const{activeWorkflow:e,messages:t,view:s}=this,o=e?.helpMessage;return o?t["3d"===s?.type?"helpMessages3d":"helpMessages2d"]?.[o]:void 0}_renderUpdateActions(){const{messages:e,messagesCommon:t,viewModel:s}=this,o={id:"select",label:t.select};return X("div",{class:v.updateActions,key:"update-actions"},X(N,{level:q(this.headingLevel)},e.editFeatures),X("calcite-list",{class:v.updateActionsList,label:e.editFeaturesList,selectionAppearance:"border",selectionMode:"single"},K({disabled:!s.canUpdateVisible,grouped:!1,item:o,selectedItem:"awaiting-feature-to-update"===s.activeWorkflow?.stepId?o:void 0,renderIcon:this._renderSelectIcon,onItemSelect:this._onToggleUpdateWorkflow})))}_renderCreateActions(){return X("div",{key:"create-actions"},X(N,{level:q(this.headingLevel)},this.messages.createFeatures),X("div",{class:v.featureTemplatesContainer,key:"templates"},this._renderFeatureTemplates()))}_renderFeatureList(e){const{EditorPanel:t,viewModel:s}=this,{activeWorkflow:o}=s;if("update"!==o?.type)return null;const i=o.data.candidates,r=Y(this.messages.multipleFeaturesTemplate,{total:i.length});return X(t,{heading:r,key:"feature-list",...e},X(M,{editorItems:s.editorItems,filterText:this._filterText,id:this.id,messagesTemplates:this.messagesTemplates,workflow:o,onFilterTextChange:e=>this._filterText=e,onSelectFeature:(e,t)=>s.selectFeature(e,t)}))}_showPromptAndWait({title:e,message:t,yesLabel:s,noLabel:o}){const r=i(),{view:a}=this,n=a?.focused;return this._showPrompt({title:e,message:t,context:"danger",actions:{primary:{label:s,action:()=>r.resolve(!0)},secondary:{label:o,action:()=>r.resolve(!1)}}}),r.promise.finally((()=>{this._clearPrompt(),n&&a?.focus()}))}async _setupSketch(){if(!!!this.visibleElements.sketch)return this._sketchImportAbortController=s(this._sketchImportAbortController),this._sketchToolbar=o(this._sketchToolbar),void this.removeHandles(Z);if(this._sketchImportAbortController)return;const e=new AbortController;this._sketchImportAbortController=e;const t=await import("./Sketch.js");if(!e.signal.aborted)try{this._sketchToolbar=new t.default({toolbarKind:"docked",contextualToolLocation:"inline-end",scale:"s",visibleElements:new R({deleteButton:!1,settingsMenu:!1,directionModePicker:!1,selectionCountLabel:!1,duplicateButton:!1,createTools:new G({freehandPolygon:!0,freehandPolyline:!0})})}),this.addHandles([r((()=>this.viewModel.activeLeafWorkflow?.availableCreateTools),(e=>{this._sketchToolbar&&(this._sketchToolbar.availableCreateTools=e)}),a),r((()=>this.visibleElements.undoRedoButtons),(e=>{this._sketchToolbar&&(this._sketchToolbar.visibleElements.undoRedoMenu=e)}),a),l((()=>this.viewModel?.sketchViewModel),(e=>{this._sketchToolbar&&(this._sketchToolbar.viewModel=e)}),a),l((()=>!!this.messages),(()=>{this._sketchToolbar&&(this._sketchToolbar.customActions=[{icon:"zoom-to-object",text:this.messages.zoomTo,onclick:()=>this.viewModel.zoomTo(),id:"editor-custom-zoom-to",position:"before-selection-set"}])}),{once:!0,initial:!0})],Z)}finally{this._sketchImportAbortController=null}}};e([d()],ee.prototype,"_featureForm",void 0),e([d()],ee.prototype,"_sketchToolbar",void 0),e([d()],ee.prototype,"_attachments",void 0),e([d()],ee.prototype,"_featureTemplates",void 0),e([d()],ee.prototype,"_filterText",void 0),e([d()],ee.prototype,"_prompt",void 0),e([d()],ee.prototype,"_spinner",void 0),e([d()],ee.prototype,"_deleteButtonCommonInfo",null),e([d()],ee.prototype,"_loading",void 0),e([d({readOnly:!0})],ee.prototype,"activeWorkflow",null),e([d()],ee.prototype,"headingLevel",void 0),e([d()],ee.prototype,"hideTemplatesForInactiveLayers",null),e([d()],ee.prototype,"icon",null),e([d()],ee.prototype,"label",null),e([d()],ee.prototype,"labelOptions",null),e([d()],ee.prototype,"layerInfos",null),e([d(),J("esri/widgets/Editor/t9n/Editor")],ee.prototype,"messages",void 0),e([d(),J("esri/t9n/common")],ee.prototype,"messagesCommon",void 0),e([d(),J("esri/widgets/FeatureTemplates/t9n/FeatureTemplates")],ee.prototype,"messagesTemplates",void 0),e([d(),J("esri/widgets/Feature/t9n/Feature")],ee.prototype,"messagesFeature",void 0),e([d()],ee.prototype,"snappingOptions",null),e([d()],ee.prototype,"tooltipOptions",null),e([d()],ee.prototype,"supportingWidgetDefaults",void 0),e([d({type:m,nonNullable:!0})],ee.prototype,"valueOptions",null),e([d()],ee.prototype,"view",null),e([d(),Q(["sketch-create","sketch-delete","sketch-update","workflow-cancel","workflow-commit"])],ee.prototype,"viewModel",void 0),e([d({type:k,nonNullable:!0})],ee.prototype,"visibleElements",void 0),e([d()],ee.prototype,"_helpMessage",null),ee=e([c("esri.widgets.Editor")],ee);const te=ee;export{te as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{destroyMaybe as t,mappedFind as s,abortMaybe as o}from"../core/maybe.js";import{createResolver as i}from"../core/promiseUtils.js";import{watch as r,initial as a,on as n,when as l}from"../core/reactiveUtils.js";import{property as c}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import m from"../views/interactive/sketch/SketchValueOptions.js";import h from"./Attachments.js";import p from"./FeatureForm.js";import u from"./FeatureTemplates.js";import g from"./Spinner.js";import w from"./Widget.js";import{css as v}from"./Editor/css.js";import _ from"./Editor/EditorViewModel.js";import{isModelUpload as f}from"./Editor/modelUploadUtils.js";import k from"./Editor/VisibleElements.js";import{loadCreateFeaturesPanelContentComponents as y,CreateFeaturesPanelContent as b}from"./Editor/components/CreateFeaturesPanelContent.js";import{loadFeatureListComponents as F,FeatureList as M}from"./Editor/components/FeatureList.js";import{loadFooterActionsComponents as A,FooterActions as T}from"./Editor/components/FooterActions.js";import{loadNoticesComponents as C,Notice as E}from"./Editor/components/Notices.js";import{loadPanelContentComponents as P,PanelContent as W,PanelContentSection as L,PanelContentMessage as j}from"./Editor/components/PanelContent.js";import{PanelToolbar as S,loadPanelToolbarComponents as I}from"./Editor/components/PanelToolbar.js";import{loadPromptComponents as U,Prompt as D}from"./Editor/components/Prompt.js";import{loadUpdateFeaturePanelContentComponents as O,UpdateFeaturePanelContent as V}from"./Editor/components/UpdateFeaturePanelContent.js";import{loadUploadDetailsComponents as x,UploadDetails as B}from"./Editor/components/UploadDetails.js";import{VisibleElements as z,CreateToolVisibilityMap as R}from"./Sketch/VisibleElements.js";import{loadCalciteComponents as G}from"./support/componentsUtils.js";import{globalCss as H}from"./support/globalCss.js";import{incrementHeadingLevel as q,Heading as N}from"./support/Heading.js";import{renderItem as Z}from"./support/ItemList.js";import{connectDelayedLoading as K}from"./support/loaderUtils.js";import"./support/widgetUtils.js";import{messageBundle as $}from"./support/decorators/messageBundle.js";import{vmEvent as J}from"./support/decorators/vmEvent.js";import{tsx as Q}from"./support/jsxFactory.js";import{substitute as X}from"../intl/substitute.js";const Y=Symbol("sketch-setup-handles");let ee=class extends w{constructor(e,t){super(e,t),this._featureForm=new p,this._sketchToolbar=null,this._attachments=new h({visibleElements:{addSubmitButton:!1,cancelAddButton:!1,cancelUpdateButton:!1,deleteButton:!1,errorMessage:!1,progressBar:!1,updateButton:!1}}),this._featureTemplates=new u({enableListScroll:!1,renderItemContentEnd:e=>e.supportsUpload?Q("calcite-icon",{class:v.templateItemContentEnd,icon:"upload-to",key:"upload-icon"}):null,renderItemLabel:e=>e.label,renderCustomGroupContent:e=>this._renderCustomTemplateGroupContent(e)}),this._filterText="",this._prompt=null,this._spinner=new g,this._loading=!1,this.headingLevel=4,this.messages=null,this.messagesCommon=null,this.messagesTemplates=null,this.messagesFeature=null,this.supportingWidgetDefaults=null,this.viewModel=new _,this.visibleElements=new k,this._renderAttachments=()=>this._attachments.render(),this._renderFeatureForm=()=>this._featureForm.render(),this._renderFeatureTemplates=()=>this._featureTemplates.render(),this._renderSketch=()=>this._sketchToolbar?Q("div",{class:v.sketchContainer,key:"editor-sketch-container"},this._sketchToolbar?.render()):void 0,this._renderSelectIcon=()=>Q("calcite-icon",{icon:"cursor",slot:"content-start"}),this.EditorPanel=({heading:e,key:t,selected:s},...o)=>{const{visibleElements:i}=this;return Q("calcite-flow-item",{closable:!1,heading:e,headingLevel:this.headingLevel,key:t,loading:this._loading,selected:s,onCalciteFlowItemBack:this._onBack},i.zoomToButton&&this.viewModel.canZoomTo?Q("calcite-action",{alignment:"center",appearance:"transparent",icon:"zoom-to-object",key:"zoom-to-button",onclick:()=>this.viewModel.zoomTo(),slot:"header-actions-end",text:this.messages.zoomTo}):null,i.settingsMenu?Q(S,{editorViewModel:this.viewModel,messagesCommon:this.messagesCommon,visibleElements:i}):null,...o)},this._showDiscardEditsPrompt=()=>{const{messages:e,activeWorkflow:t}=this,s={title:e.cancelEditTitle,message:e.cancelEditWarningMessage,yesLabel:e.discardEdits,noLabel:e.continueEditing};return"create-features"===t?.type&&f(t.data.creationInfo)?this._showPromptAndWait("success"===t.data.upload?.state?e.modelUploads.cancelPlacementPrompt:e.modelUploads.cancelUploadPrompt):"update"===t?.type&&t.activeFeatureFormViewModel?.activeAssociation?this._showPromptAndWait({...s,message:e.cancelAssociationEditWarning}):this._showPromptAndWait(s)},this._showGenericCancelPrompt=()=>{const{messages:e,messagesCommon:t}=this;return this._showPromptAndWait({title:e.cancelRequestTitle,message:e.cancelRequestWarningMessage,yesLabel:t.form.yes,noLabel:t.form.no})},this._showPrompt=e=>{this._prompt?.cancel?.(),this._prompt=e},this._clearPrompt=()=>{this._prompt=null},this._onSave=()=>{this.viewModel.saveWorkflow()},this._onDelete=()=>{const{messages:e,messagesCommon:t}=this;this._showPrompt({title:e.deleteWarningTitle,message:e.deleteWarningMessage,context:"danger",actions:{primary:{label:t.delete,action:()=>{this.deleteFeatureFromWorkflow(),this._clearPrompt()}},secondary:{label:e.keepFeature,action:this._clearPrompt}}})},this._onDeleteAssociation=()=>{const{messages:e,messagesCommon:t}=this;this._showPrompt({title:e.deleteAssociationTitle,message:e.deleteAssociationMessage,context:"danger",actions:{primary:{label:t.delete,action:()=>{this.deleteAssociationFromWorkflow(),this._clearPrompt()}},secondary:{label:e.keepAssociation,action:this._clearPrompt}}})},this._onToggleUpdateWorkflow=()=>this.viewModel.toggleUpdateWorkflow(),this._onBack=e=>(e?.stopPropagation(),this.viewModel.back()),this._onAttachmentAdd=()=>{const{activeWorkflow:e}=this.viewModel;e&&("create-features"===e.type||"update"===e.type&&"create-features"===e.activeWorkflow?.type?(this._attachments.addFile(),e.back()):this._attachments.addAttachment().then((()=>e.back())))},this._onAttachmentUpdate=()=>{const{activeWorkflow:e}=this.viewModel;e&&("create-features"===e.type?(this._attachments.updateFile(),e.back()):this._attachments.updateAttachment().then((()=>e.back())))},this._onAttachmentDelete=()=>{const{messages:e,messagesCommon:t}=this;this._showPrompt({title:e.deleteAttachmentWarningTitle,message:e.deleteAttachmentWarningMessage,context:"danger",actions:{primary:{label:t.delete,action:this._onAttachmentDeleteConfirm},secondary:{label:e.keepAttachment,action:this._clearPrompt}}})},this._onAttachmentDeleteConfirm=async()=>{const e=this._attachments,{activeWorkflow:t}=this.viewModel;t&&("create-features"===t.type?e.deleteFile():(await e.deleteAttachment(e.viewModel.activeAttachmentInfo),this._clearPrompt()),await t.back(),this._clearPrompt())},this._onAttachmentsError=e=>{this._showPrompt({title:this.messages.errorWarningTitle,message:e.message,context:"warning",actions:{primary:{label:this.messagesCommon.form.ok,action:this._clearPrompt}}})}}initialize(){this._featureForm.showPrompt=this._showPrompt,this._featureForm.clearPrompt=this._clearPrompt,this.addHandles([r((()=>q(this.headingLevel)),(e=>{this._featureForm.headingLevel=e,this._featureTemplates.headingLevel=e}),a),n((()=>this.viewModel.activeWorkflow),"cancel-request",(({controller:e})=>{(this.viewModel.hasPendingEdits?this._showDiscardEditsPrompt():this._showGenericCancelPrompt()).then((t=>t?e.allow():e.deny()))})),l((()=>this.viewModel.featureFormViewModel),(e=>{this._featureForm.viewModel=e}),a),r((()=>this.viewModel),(e=>{this._attachments.viewModel=e?.attachmentsViewModel??null,this._featureTemplates.viewModel=e?.featureTemplatesViewModel??null,this._spinner.viewModel=e?.spinnerViewModel??null,e.showDiscardEditsPrompt=this._showDiscardEditsPrompt}),a),r((()=>this.view),((e,t)=>{const s=`editor-${this.id}-spinner`;t?.ui.remove(this._spinner,s),e?.ui.add(this._spinner,{key:s,position:"manual"})}),a),r((()=>[this.supportingWidgetDefaults,this.viewModel.sketchViewModel]),(([e])=>{e&&(this._featureForm.set(e.featureForm),this._attachments.set(e.attachments),this._featureTemplates.set(e.featureTemplates),this.viewModel.sketchViewModel?.set(e.sketch))}),a),l((()=>this._attachments?.error),(e=>this._onAttachmentsError(e))),l((()=>this.viewModel?.failures),(e=>{const{messages:t}=this,[{error:s,retry:o,cancel:i}]=e;this._showPrompt({title:t.errorWarningTitle,message:X(t.errorWarningMessageTemplate,{errorMessage:s.message}),context:"warning",actions:{primary:{label:t.retry,action:()=>{o(),this._clearPrompt()}},secondary:{label:t.ignore,action:()=>{i(),this._clearPrompt()}}}})})),r((()=>this.viewModel?.state),(e=>{switch(e){case"awaiting-feature-to-update":case"ready":case"disabled":this._filterText="",this._featureTemplates.filterText=""}})),r((()=>this.viewModel.featureFormDisabled),(e=>this._featureForm.disabled=e)),r((()=>this.visibleElements.sketch),(()=>this._setupSketch()),a),K({getLoading:()=>{const{viewModel:e}=this;return e.syncing||e.updating||this._attachments.submitting},setEffectiveLoading:e=>{this._loading=e}})])}destroy(){this._attachments.destroy(),this._featureForm.destroy(),this._featureTemplates.destroy(),this._sketchToolbar=t(this._sketchToolbar)}loadDependencies(){return Promise.all([G({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),list:()=>import("@esri/calcite-components/dist/components/calcite-list")}),y(),F(),A(),C(),P(),I(),U(),O(),x()])}get _deleteButtonCommonInfo(){return{appearance:"outline",kind:"danger"}}get activeWorkflow(){return this.viewModel.activeWorkflow}get hideTemplatesForInactiveLayers(){return this.viewModel.hideTemplatesForInactiveLayers}set hideTemplatesForInactiveLayers(e){this.viewModel.hideTemplatesForInactiveLayers=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 layerInfos(){return this.viewModel.layerInfos}set layerInfos(e){this.viewModel.layerInfos=e}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get tooltipOptions(){return this.viewModel.tooltipOptions}set tooltipOptions(e){this.viewModel.tooltipOptions=e}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}startCreateFeaturesWorkflowAtFeatureTypeSelection(){return this.viewModel.startCreateFeaturesWorkflowAtFeatureTypeSelection()}startCreateFeaturesWorkflowAtFeatureCreation(e){return this.viewModel.startCreateFeaturesWorkflowAtFeatureCreation(e)}startCreateFeaturesWorkflowAtFeatureEdit(e){return this.viewModel.startCreateFeaturesWorkflowAtFeatureEdit(e)}startUpdateWorkflowAtFeatureSelection(){return this.viewModel.startUpdateWorkflowAtFeatureSelection()}startUpdateWorkflowAtMultipleFeatureSelection(e){return this.viewModel.startUpdateWorkflowAtMultipleFeatureSelection(e)}startUpdateWorkflowAtFeatureEdit(e){return this.viewModel.startUpdateWorkflowAtFeatureEdit(e)}deleteFeatureFromWorkflow(){return this.viewModel.deleteFeatureFromWorkflow()}deleteAssociationFromWorkflow(){return this.viewModel.deleteAssociationFromWorkflow()}cancelWorkflow(e){return this.viewModel.cancelWorkflow(e)}render(){const{visibleElements:e,viewModel:t}=this,s=this.classes(v.base,H.widget,H.panel);if(!t)return Q("div",{class:s,key:"empty"});const{pageStack:o}=t,i=o.length-1,r=o.map(((e,t)=>this._renderPage(e,t===i)));return Q("div",{class:s,key:"base"},e.flow?Q("calcite-flow",{key:"flow"},r):r,this._prompt?Q(D,{...this._prompt,headingLevel:this.headingLevel}):void 0)}_renderPage(e,t){const s={selected:t};switch(e){case"disabled":break;case"ready":return this._renderReady(s);case"awaiting-feature-creation-info":return this._renderAwaitingFeatureCreationInfo(s);case"creating-features-upload-details":return this._renderUploadDetails(s);case"creating-features":return this._renderCreatingFeatures(s);case"editing-existing-feature":case"editing-attributes":return this._renderUpdateFeature(s);case"awaiting-update-feature-candidate":return this._renderFeatureList(s);case"adding-attachment":return this._renderAttachmentAdding(s);case"editing-attachment":return this._renderAttachmentEditing(s);case"viewing-associated-layers":case"viewing-associated-features":return this._renderViewAssociatedLayers(s)}return Q("div",{key:"empty-page"})}_renderAwaitingFeatureCreationInfo(e){const{EditorPanel:t,messages:s}=this;return Q(t,{heading:s.selectTemplate,key:"templates-panel",...e},Q(W,{key:"feature-templates"},Q(L,null,this._renderFeatureTemplates())))}_renderUploadDetails(e){const{EditorPanel:t,activeWorkflow:s,messages:o}=this;if("create-features"!==s?.type)return null;const i=s.data.upload;return i?Q(t,{heading:o.createFeatures,key:"upload-details-panel",...e},Q(B,{helpMessage:this._helpMessage,messages:o,upload:i})):null}_renderCreatingFeatures(e){const{EditorPanel:t,activeWorkflow:s,messages:o,messagesCommon:i,headingLevel:r,viewModel:a}=this;if(!s)return null;const n="create-features"===s.type&&s.numPendingFeatures>0||"update"===s.type&&"create-features"===s?.activeWorkflow?.type&&s.activeWorkflow?.numPendingFeatures>0;return Q(t,{heading:o.createFeatures,key:"create-features-panel",...e},n?Q(V,{editorViewModel:a,headingLevel:r,messages:o,messagesCommon:i,renderAttachments:this._renderAttachments,renderFeatureForm:this._renderFeatureForm,renderSketchToolbar:this._renderSketch,onDelete:this._onDelete,onDeleteAssociation:this._onDeleteAssociation,onSave:this._onSave}):Q(b,{helpMessage:this._helpMessage,renderSketchToolbar:this._renderSketch}))}_renderUpdateFeature(e){const{EditorPanel:t,messages:s,messagesCommon:o,headingLevel:i,viewModel:r}=this;return Q(t,{heading:s.editFeature,key:"update-feature-panel",...e},Q(V,{editorViewModel:r,headingLevel:i,messages:s,messagesCommon:o,renderAttachments:this._renderAttachments,renderFeatureForm:this._renderFeatureForm,renderSketchToolbar:this._renderSketch,onDelete:this._onDelete,onDeleteAssociation:this._onDeleteAssociation,onSave:this._onSave}))}_getAssociationTypeTitle(e){if(!e)return null;if(e.title)return e.title;const{messagesFeature:t}=this;switch(e.type){case"attachment":return t.associationsAttachments;case"connectivity":return t.associationsConnectivity;case"structure":return t.associationsStructure;case"content":return t.associationsContents;case"container":return t.associationsContainer}}_renderViewAssociatedLayers(e){const{EditorPanel:t,messages:s,messagesCommon:o,headingLevel:i,viewModel:r}=this,a=r.featureFormViewModel?.activeAssociationInput?.activeAssociationType,n=this._getAssociationTypeTitle(a)??s.editFeature;return Q(t,{heading:n,key:"viewing-associated-layers-panel",...e},Q(V,{editorViewModel:r,headingLevel:i,messages:s,messagesCommon:o,renderAttachments:this._renderAttachments,renderFeatureForm:this._renderFeatureForm,renderSketchToolbar:this._renderSketch,onDelete:this._onDelete,onDeleteAssociation:this._onDeleteAssociation,onSave:this._onSave}))}_renderCustomTemplateGroupContent(e){const{messages:t,viewModel:o}=this,i=s(e.group.items,(e=>o.itemHasInvalidFormTemplate(e)?t.formFieldCreateError:void 0));return i?Q(E,{kind:"warning",message:i}):null}_renderAttachmentAdding(e){const{EditorPanel:t,_attachments:s,messages:o,messagesCommon:i}=this;return Q(t,{heading:o.addAttachment,key:"attachment-adding-panel",...e},Q(W,{key:"attachments"},this._renderAttachments()),Q(T,{buttons:[{label:s.submitting?i.cancel:i.add,disabled:s.submitting||!s.selectedFile,onClick:this._onAttachmentAdd,type:"button"}]}))}_renderAttachmentEditing(e){const{EditorPanel:t,_attachments:s,activeWorkflow:o,messages:i,messagesCommon:r}=this;return o?Q(t,{heading:i.editAttachment,key:"attachment-editing-panel",...e},Q(W,{key:"attachments"},this._renderAttachments()),o.shouldAllowAttachmentEditing?Q(T,{buttons:[{label:r.update,disabled:s.submitting||!s.selectedFile,onClick:this._onAttachmentUpdate,type:"button"},{...this._deleteButtonCommonInfo,onClick:this._onAttachmentDelete,disabled:s.submitting,label:r.delete,type:"button"}]}):void 0):null}_renderReady(e){const{EditorPanel:t,messages:s,viewModel:o,visibleElements:i}=this,r=this._helpMessage;return Q(t,{heading:s.widgetLabel,key:"landing-panel",...e},Q(W,{key:"landing-content"},o.editorItems.length?[i.editFeaturesSection?Q(L,{key:"edit-actions"},this._renderUpdateActions()):null,i.createFeaturesSection&&o.canCreateVisible?Q(L,{key:"create-actions"},this._renderCreateActions()):null]:Q(j,{key:"no-content"},s.noEditableLayers)),r?Q("div",{class:v.helpMessage,key:"footer-actions",slot:"footer"},r):void 0)}get _helpMessage(){const{activeWorkflow:e,messages:t,view:s}=this,o=e?.helpMessage;return o?t["3d"===s?.type?"helpMessages3d":"helpMessages2d"]?.[o]:void 0}_renderUpdateActions(){const{messages:e,messagesCommon:t,viewModel:s}=this,o={id:"select",label:t.select};return Q("div",{class:v.updateActions,key:"update-actions"},Q(N,{level:q(this.headingLevel)},e.editFeatures),Q("calcite-list",{class:v.updateActionsList,label:e.editFeaturesList,selectionAppearance:"border",selectionMode:"single"},Z({disabled:!s.canUpdateVisible,grouped:!1,item:o,selectedItem:"awaiting-feature-to-update"===s.activeWorkflow?.stepId?o:void 0,renderIcon:this._renderSelectIcon,onItemSelect:this._onToggleUpdateWorkflow})))}_renderCreateActions(){return Q("div",{key:"create-actions"},Q(N,{level:q(this.headingLevel)},this.messages.createFeatures),Q("div",{class:v.featureTemplatesContainer,key:"templates"},this._renderFeatureTemplates()))}_renderFeatureList(e){const{EditorPanel:t,viewModel:s}=this,{activeWorkflow:o}=s;if("update"!==o?.type)return null;const i=o.data.candidates,r=X(this.messages.multipleFeaturesTemplate,{total:i.length});return Q(t,{heading:r,key:"feature-list",...e},Q(M,{editorItems:s.editorItems,editorMessages:this.messages,filterText:this._filterText,id:this.id,messagesTemplates:this.messagesTemplates,workflow:o,onFilterTextChange:e=>this._filterText=e,onSelectFeature:(e,t)=>s.selectFeature(e,t),onZoomTo:e=>s.zoomTo(e)}))}_showPromptAndWait({title:e,message:t,yesLabel:s,noLabel:o}){const r=i(),{view:a}=this,n=a?.focused;return this._showPrompt({title:e,message:t,context:"danger",actions:{primary:{label:s,action:()=>r.resolve(!0)},secondary:{label:o,action:()=>r.resolve(!1)}}}),r.promise.finally((()=>{this._clearPrompt(),n&&a?.focus()}))}async _setupSketch(){if(!!!this.visibleElements.sketch)return this._sketchImportAbortController=o(this._sketchImportAbortController),this._sketchToolbar=t(this._sketchToolbar),void this.removeHandles(Y);if(this._sketchImportAbortController)return;const e=new AbortController;this._sketchImportAbortController=e;const s=await import("./Sketch.js");if(!e.signal.aborted)try{this._sketchToolbar=new s.default({toolbarKind:"docked",contextualToolLocation:"inline-end",scale:"s",visibleElements:new z({deleteButton:!1,settingsMenu:!1,directionModePicker:!1,selectionCountLabel:!1,duplicateButton:!1,createTools:new R({freehandPolygon:!0,freehandPolyline:!0})})}),this.addHandles([r((()=>this.viewModel.activeLeafWorkflow?.availableCreateTools),(e=>{this._sketchToolbar&&(this._sketchToolbar.availableCreateTools=e)}),a),r((()=>this.visibleElements.undoRedoButtons),(e=>{this._sketchToolbar&&(this._sketchToolbar.visibleElements.undoRedoMenu=e)}),a),l((()=>this.viewModel?.sketchViewModel),(e=>{this._sketchToolbar&&(this._sketchToolbar.viewModel=e)}),a)],Y)}finally{this._sketchImportAbortController=null}}get test(){return{sketch:this._sketchToolbar}}};e([c()],ee.prototype,"_featureForm",void 0),e([c()],ee.prototype,"_sketchToolbar",void 0),e([c()],ee.prototype,"_attachments",void 0),e([c()],ee.prototype,"_featureTemplates",void 0),e([c()],ee.prototype,"_filterText",void 0),e([c()],ee.prototype,"_prompt",void 0),e([c()],ee.prototype,"_spinner",void 0),e([c()],ee.prototype,"_deleteButtonCommonInfo",null),e([c()],ee.prototype,"_loading",void 0),e([c({readOnly:!0})],ee.prototype,"activeWorkflow",null),e([c()],ee.prototype,"headingLevel",void 0),e([c()],ee.prototype,"hideTemplatesForInactiveLayers",null),e([c()],ee.prototype,"icon",null),e([c()],ee.prototype,"label",null),e([c()],ee.prototype,"labelOptions",null),e([c()],ee.prototype,"layerInfos",null),e([c(),$("esri/widgets/Editor/t9n/Editor")],ee.prototype,"messages",void 0),e([c(),$("esri/t9n/common")],ee.prototype,"messagesCommon",void 0),e([c(),$("esri/widgets/FeatureTemplates/t9n/FeatureTemplates")],ee.prototype,"messagesTemplates",void 0),e([c(),$("esri/widgets/Feature/t9n/Feature")],ee.prototype,"messagesFeature",void 0),e([c()],ee.prototype,"snappingOptions",null),e([c()],ee.prototype,"tooltipOptions",null),e([c()],ee.prototype,"supportingWidgetDefaults",void 0),e([c({type:m,nonNullable:!0})],ee.prototype,"valueOptions",null),e([c()],ee.prototype,"view",null),e([c(),J(["sketch-create","sketch-delete","sketch-update","workflow-cancel","workflow-commit"])],ee.prototype,"viewModel",void 0),e([c({type:k,nonNullable:!0})],ee.prototype,"visibleElements",void 0),e([c()],ee.prototype,"_helpMessage",null),ee=e([d("esri.widgets.Editor")],ee);const te=ee;export{te 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{isSupportedLayer as e}from"../../../arcade/featureset/support/shared.js";import r from"../../../core/Logger.js";import t from"../../../layers/FeatureLayer.js";import{applyTextFormattingHTML as a,htmlEntities as n}from"./featureUtils.js";import{globalCss as s}from"../../support/globalCss.js";const o="esri.widgets.Feature.support.arcadeFeatureUtils",i=()=>r.getLogger(o);function c(e){return"string"==typeof e?a(n(e)):Array.isArray(e)?p(e):"esri.arcade.Dictionary"===e?.declaredClass?u(e):e}function p(e){return`<ul class="esri-widget__list">${e.map((e=>`<li>${"string"==typeof e?a(n(e)):e}</li>`)).join("")}</ul>`}function u(e){const r=e.keys().map((r=>{const t=e.field(r);return`<tr><th>${r}</th><td>${"string"==typeof t?a(n(t)):t}</td></tr>`})).join("");return`<table class="${s.table}">${r}</table>`}async function l(){const[e,r]=await Promise.all([import("../../../arcade.js"),import("../../../arcade/arcade.js")]);return{executor:e,syntaxUtils:r}}function d(e){return"createQuery"in e&&"queryFeatures"in e}async function y({graphic:e,view:r,options:t}){const{isAggregate:a,layer:n}=e;if(!a||!n||"2d"!==r?.type)return[];const s=await r.whenLayerView(n);if(!d(s))return[];const o=s.createQuery(),i=e.getObjectId();o.aggregateIds=null!=i?[i]:[];const{features:c}=await s.queryFeatures(o,t);return c}function f({layer:e,aggregatedFeatures:r,interceptor:a}){const{fields:n,objectIdField:s,geometryType:o,spatialReference:i,displayField:c}=e;return new t({fields:n,objectIdField:s,geometryType:o,spatialReference:i,displayField:c,interceptor:a,..."feature"===e.type?{templates:e.templates,typeIdField:e.typeIdField,types:e.types}:null,source:r})}function g(e){const r="esri.views.3d.layers.VoxelGraphic"===e.declaredClass;return e.isAggregate?"feature-reduction
|
|
5
|
+
import{isSupportedLayer as e}from"../../../arcade/featureset/support/shared.js";import r from"../../../core/Logger.js";import t from"../../../layers/FeatureLayer.js";import{applyTextFormattingHTML as a,htmlEntities as n}from"./featureUtils.js";import{globalCss as s}from"../../support/globalCss.js";const o="esri.widgets.Feature.support.arcadeFeatureUtils",i=()=>r.getLogger(o);function c(e){return"string"==typeof e?a(n(e)):Array.isArray(e)?p(e):"esri.arcade.Dictionary"===e?.declaredClass?u(e):e}function p(e){return`<ul class="esri-widget__list">${e.map((e=>`<li>${"string"==typeof e?a(n(e)):e}</li>`)).join("")}</ul>`}function u(e){const r=e.keys().map((r=>{const t=e.field(r);return`<tr><th>${r}</th><td>${"string"==typeof t?a(n(t)):t}</td></tr>`})).join("");return`<table class="${s.table}">${r}</table>`}async function l(){const[e,r]=await Promise.all([import("../../../arcade.js"),import("../../../arcade/arcade.js")]);return{executor:e,syntaxUtils:r}}function d(e){return"createQuery"in e&&"queryFeatures"in e}async function y({graphic:e,view:r,options:t}){const{isAggregate:a,layer:n}=e;if(!a||!n||"2d"!==r?.type)return[];const s=await r.whenLayerView(n);if(!d(s))return[];const o=s.createQuery(),i=e.getObjectId();o.aggregateIds=null!=i?[i]:[];const{features:c}=await s.queryFeatures(o,t);return c}function f({layer:e,aggregatedFeatures:r,interceptor:a}){const{fields:n,objectIdField:s,geometryType:o,spatialReference:i,displayField:c}=e;return new t({fields:n,objectIdField:s,geometryType:o,spatialReference:i,displayField:c,interceptor:a,..."feature"===e.type?{templates:e.templates,typeIdField:e.typeIdField,types:e.types}:null,source:r})}function g(e){const r="esri.views.3d.layers.VoxelGraphic"===e.declaredClass;return e.isAggregate?"popup-feature-reduction":r?"popup-voxel":"popup"}function w(e){return{scale:e?.scale,timeProperties:{currentStart:e?.timeExtent?.start,currentEnd:e?.timeExtent?.end,startIncluded:!0,endIncluded:!0}}}function m(e){return{$voxel:e}}async function x(e,r,t,a,n){let s=null;if(n.has("$aggregatedfeatures")){const n=await y({graphic:e,view:r,options:t}),o=e.sourceLayer||e.layer;s=f({layer:o,aggregatedFeatures:n,interceptor:a})}return{vars:{$feature:e,$aggregatedFeatures:s,$view:w(r)},[Symbol.dispose]:()=>s?.[Symbol.dispose]()}}function v(r,t,a,n){const s=(r.sourceLayer||r.layer)??void 0;return{$feature:r,$layer:null!=s&&e(s)?s:"scene"===s?.type&&null!=s.associatedLayer?s.associatedLayer:void 0,$map:t,$datastore:s?.url,$userInput:a,$graph:"knowledge-graph-sublayer"===s?.type?s?.parentCompositeLayer?.knowledgeGraph:void 0,$view:w(n)}}async function h(e,{graphic:r,map:t,location:a,view:n,options:s,interceptor:o,arcadeExecutor:i}){switch(e){case"popup":return{vars:v(r,t,a,n),[Symbol.dispose](){}};case"popup-feature-reduction":{const e=new Set(i.variablesUsed);return await x(r,n,s,o,e)}case"popup-voxel":return{vars:m(r),[Symbol.dispose](){}};default:throw new Error(`Unexpected profile name ${e}`)}}async function $({expressionInfo:e,arcade:{executor:r,syntaxUtils:t},graphic:a}){const n=e?.expression;if(!n)return null;const s=g(a),o=r.createArcadeProfile(s);let c;try{c=await r.createArcadeExecutor(n,o)}catch(u){return i().error("arcade-executor-error",{error:u,expressionInfo:e}),null}const p=new Set;return c.variablesUsed.includes("$view")&&(t.scriptUsesViewProperties(c.syntaxTree,["scale"])&&p.add("view-scale"),t.scriptUsesViewProperties(c.syntaxTree,["timeProperties"])&&p.add("view-time-extent")),{dependencies:p,async evaluate({graphic:r,interceptor:t,location:a,map:n,options:o,spatialReference:p,view:l}){const d=await h(s,{graphic:r,map:n,location:a,view:l,options:o,interceptor:t,arcadeExecutor:c}),y={abortSignal:o?.signal??void 0,interceptor:t??void 0,rawOutput:!0,spatialReference:p??void 0,timeZone:l?.timeZone,console(...e){i().info(...e)}};try{return await c.executeAsync(d.vars,y)}catch(u){return void i().error("arcade-execution-error",{error:u,graphic:r,expressionInfo:e})}finally{d[Symbol.dispose]()}}}}async function b(e,r){if(!e?.length)return{dependencies:new Set,expressions:new Map};const t=await l(),a=new Set,n=new Map;for(const s of e){const e=await $({expressionInfo:s,arcade:t,graphic:r});n.set(`expression/${s.name}`,e),e?.dependencies.forEach((e=>a.add(e)))}return{dependencies:a,expressions:n}}export{$ as compileExpression,b as compileExpressionInfos,c as formatArcadeValue,l as loadArcade};
|
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,syncAndInitial as a,when 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 f from"./Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js";import{loadCalciteComponents as g}from"./support/componentsUtils.js";import _ from"./support/SelectionToolbar.js";import y from"./support/SketchTooltipControls.js";import b from"./support/SnappingControls.js";import"./support/widgetUtils.js";import{messageBundle as T}from"./support/decorators/messageBundle.js";import{vmEvent as w}from"./support/decorators/vmEvent.js";import{tsx as M}from"./support/jsxFactory.js";import O from"./support/SketchTooltipControls/VisibleElements.js";import{substitute as C}from"../intl/substitute.js";const k="esri-sketch",S={base:k,vertical:`${k}--vertical`,docked:`${k}-bar`,chipHorizontal:`${k}__selection-count-chip--horizontal`,chipVertical:`${k}__selection-count-chip--vertical`,chipVerticalSmall:`${k}__selection-count-chip--vertical--s`,popoverWrapper:`${k}__popover-wrapper`},I={point:"pin",polyline:"line",polygon:"polygon",rectangle:"rectangle",circle:"circle",multipoint:"pins",mesh:"i3-d-building",freehandPolygon:"freehand-area",freehandPolyline:"freehand"};let P=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.messages=null,this.messagesCommon=null,this.visibleElements=new m,this._calcitePopoverReferenceElement=null,this._relativeLocation="top",this._popoverOpen=!1,this._activateCreateTool=this._activateCreateTool.bind(this),this.viewModel=e?.viewModel||new v({creationMode:e?.creationMode??"continuous"})}initialize(){const{layer:e,view:t}=this,i=new _({view:"2d"===t?.type?t:null,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="2d"===e?.type?e:null)})),n((()=>e.state),(()=>this.notifyChange("state")))]))}),a),c((()=>i.activeToolInfo),(()=>this.viewModel.cancel())),i.on("complete",(e=>this._onSelectionOperationComplete(e))),n((()=>{const{selectionTools:e}=this.visibleElements;return{lassoTool:!!e?.["lasso-selection"],rectangleTool:!!e?.["rectangle-selection"]}}),(e=>{Object.assign(i.visibleElements,e)}),a)]),this._selectionToolbar=i}loadDependencies(){return g({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?.activeToolInfo;if(e)switch(e.toolName){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?.activeToolInfo?"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&&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 M("div",null,M("div",{classes:{[S.base]:!0,[S.docked]:"docked"===e,[S.vertical]:"vertical"===t}},M(f,{barStyle:e,layout:t,scale:o},this._renderSelectionSetItemGroupInline(),M("div",{"group-kind":"split-button",key:"selection-split-button",priority:0},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 M("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()},M("div",{class:S.popoverWrapper},Object.values(l).includes(!0)?M(y,{sketchOptions:i.sketchOptions,viewType:o?.type,visibleElements:new O(l)}):void 0,s.snappingControls&&o&&t?M(b,{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?M(f,{barStyle:this.toolbarKind,layout:this.layout,scale:this.scale},e):void 0}_renderSelectionSetItemGroupInline(){return"separate"===this.contextualToolLocation?[]:this._renderSelectionSetItemGroup()}_renderUndoRedoMenuItemGroup(){return M("div",{"group-kind":"split-button",key:"undo-redo-menu",priority:10,slot:"actions-end"},this._renderUndoButton(),this._renderRedoButton())}_renderSettingsMenuItemGroup(){const e=this.customActions?.filter((e=>"settings-before"===e.position));return this._renderToolbarItemGroup({key:"settings-menu",elements:[e?.map((e=>this._renderToolbarItem(e))),this._renderSettingsMenuButton()],slot:"actions-end"})}_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));return[M("div",{"group-kind":"measured-content",key:"selection-count-chip-group",priority:100,slot:e},this._renderFeatureCountChip()),M("div",{"allow-collapse":!1,"group-kind":"overflow-group",key:"selection-set-tool-group",priority:100,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 M("div",{"group-kind":"overflow-group",key:"create-tools-group",priority:100},e,t)}_renderBuiltInCreateToolItem(e){return this._renderToolbarItem({id:`${e}-button`,text:this.messages.draw[e],icon:I[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=C(t.selectedCount,{count:s}),r="s"===o?99:999,n=s>r?C(t.selectedCountTruncated,{truncated:r}):s,a="s"===o&&"vertical"===e,c=a?`${i}-selection-chip-small`:`${i}-selection-chip`;return[a?M("span",{classes:{[S.chipVertical]:!0,[S.chipVerticalSmall]:"s"===this.scale},id:c,tabIndex:0,title:l},n):M("calcite-chip",{appearance:"outline",class:"horizontal"===e?S.chipHorizontal:S.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})}_renderToolbarItemGroup({key:e,elements:o,slot:i}){const s=o?.filter(t);if(s?.length)return M("div",{"allow-collapse":!1,"group-kind":"overflow-group",key:e,priority:1e3,slot:i},s)}_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[M("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()],P.prototype,"_activeCustomToolOptions",void 0),e([p()],P.prototype,"activeTool",null),e([p({readOnly:!0})],P.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)))}})],P.prototype,"availableCreateTools",void 0),e([p({readOnly:!0})],P.prototype,"createGraphic",null),e([p()],P.prototype,"creationMode",null),e([p()],P.prototype,"customToolOptions",void 0),e([p()],P.prototype,"customActions",void 0),e([p()],P.prototype,"defaultCreateOptions",null),e([p()],P.prototype,"defaultUpdateOptions",null),e([p()],P.prototype,"icon",null),e([p()],P.prototype,"label",null),e([p()],P.prototype,"labelOptions",null),e([p()],P.prototype,"layer",null),e([p({type:["horizontal","vertical"],value:"horizontal"})],P.prototype,"layout",null),e([p({value:"m"})],P.prototype,"scale",null),e([p()],P.prototype,"toolbarKind",void 0),e([p()],P.prototype,"contextualToolLocation",void 0),e([p(),T("esri/widgets/Sketch/t9n/Sketch")],P.prototype,"messages",void 0),e([p(),T("esri/t9n/common")],P.prototype,"messagesCommon",void 0),e([p()],P.prototype,"snappingOptions",null),e([p()],P.prototype,"state",null),e([p()],P.prototype,"tooltipOptions",null),e([p({readOnly:!0})],P.prototype,"updateGraphics",null),e([p({type:u,nonNullable:!0})],P.prototype,"valueOptions",null),e([p()],P.prototype,"view",null),e([p({type:v}),w(["create","update","undo","redo"])],P.prototype,"viewModel",null),e([p({type:m,nonNullable:!0})],P.prototype,"visibleElements",void 0),e([p()],P.prototype,"_effectiveAvailableCreateTools",null),e([p()],P.prototype,"_calcitePopoverReferenceElement",void 0),e([p()],P.prototype,"_relativeLocation",void 0),e([p()],P.prototype,"_popoverOpen",void 0),P=e([d("esri.widgets.Sketch")],P);const R=P;export{R 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,syncAndInitial as a,when 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 f from"./Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js";import{loadCalciteComponents as g}from"./support/componentsUtils.js";import _ from"./support/SelectionToolbar.js";import y from"./support/SketchTooltipControls.js";import b from"./support/SnappingControls.js";import"./support/widgetUtils.js";import{messageBundle as w}from"./support/decorators/messageBundle.js";import{vmEvent as T}from"./support/decorators/vmEvent.js";import{tsx as M}from"./support/jsxFactory.js";import O from"./support/SketchTooltipControls/VisibleElements.js";import{substitute as C}from"../intl/substitute.js";const k="esri-sketch",S={base:k,vertical:`${k}--vertical`,docked:`${k}-bar`,chipHorizontal:`${k}__selection-count-chip--horizontal`,chipVertical:`${k}__selection-count-chip--vertical`,chipVerticalSmall:`${k}__selection-count-chip--vertical--s`,popoverWrapper:`${k}__popover-wrapper`},I={point:"pin",polyline:"line",polygon:"polygon",rectangle:"rectangle",circle:"circle",multipoint:"pins",mesh:"i3-d-building",freehandPolygon:"freehand-area",freehandPolyline:"freehand"};let P=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.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=new _({view:"2d"===t?.type?t:null,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="2d"===e?.type?e:null)})),n((()=>e.state),(()=>this.notifyChange("state")))]))}),a),c((()=>i.activeToolInfo),(()=>this.viewModel.cancel())),i.on("complete",(e=>this._onSelectionOperationComplete(e))),n((()=>{const{selectionTools:e}=this.visibleElements;return{lassoTool:!!e?.["lasso-selection"],rectangleTool:!!e?.["rectangle-selection"]}}),(e=>{Object.assign(i.visibleElements,e)}),a)]),this._selectionToolbar=i}loadDependencies(){return g({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?.activeToolInfo;if(e)switch(e.toolName){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?.activeToolInfo?"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 M("div",null,M("div",{classes:{[S.base]:!0,[S.docked]:"docked"===e,[S.vertical]:"vertical"===t}},M(f,{barStyle:e,layout:t,scale:o},this._renderSelectionSetItemGroupInline(),M("div",{"group-kind":"split-button",key:"selection-split-button",priority:0},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 M("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()},M("div",{class:S.popoverWrapper},Object.values(l).includes(!0)?M(y,{sketchOptions:i.sketchOptions,viewType:o?.type,visibleElements:new O(l)}):void 0,s.snappingControls&&o&&t?M(b,{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?M(f,{barStyle:this.toolbarKind,layout:this.layout,scale:this.scale},e):void 0}_renderSelectionSetItemGroupInline(){return"separate"===this.contextualToolLocation?[]:this._renderSelectionSetItemGroup()}_renderUndoRedoMenuItemGroup(){return M("div",{"group-kind":"split-button",key:"undo-redo-menu",priority:10,slot:"actions-end"},this._renderUndoButton(),this._renderRedoButton())}_renderSettingsMenuItemGroup(){const e=this.customActions?.filter((e=>"settings-before"===e.position));return this._renderToolbarItemGroup({key:"settings-menu",elements:[e?.map((e=>this._renderToolbarItem(e))),this._renderSettingsMenuButton()],slot:"actions-end"})}_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));return[M("div",{"group-kind":"measured-content",key:"selection-count-chip-group",priority:100,slot:e},this._renderFeatureCountChip()),M("div",{"allow-collapse":!1,"group-kind":"overflow-group",key:"selection-set-tool-group",priority:100,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 M("div",{"group-kind":"overflow-group",key:"create-tools-group",priority:100},e,t)}_renderBuiltInCreateToolItem(e){return this._renderToolbarItem({id:`${e}-button`,text:this.messages.draw[e],icon:I[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=C(t.selectedCount,{count:s}),r="s"===o?99:999,n=s>r?C(t.selectedCountTruncated,{truncated:r}):s,a="s"===o&&"vertical"===e,c=a?`${i}-selection-chip-small`:`${i}-selection-chip`;return[a?M("span",{classes:{[S.chipVertical]:!0,[S.chipVerticalSmall]:"s"===this.scale},id:c,tabIndex:0,title:l},n):M("calcite-chip",{appearance:"outline",class:"horizontal"===e?S.chipHorizontal:S.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})}_renderToolbarItemGroup({key:e,elements:o,slot:i}){const s=o?.filter(t);if(s?.length)return M("div",{"allow-collapse":!1,"group-kind":"overflow-group",key:e,priority:1e3,slot:i},s)}_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[M("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()],P.prototype,"_activeCustomToolOptions",void 0),e([p()],P.prototype,"activeTool",null),e([p({readOnly:!0})],P.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)))}})],P.prototype,"availableCreateTools",void 0),e([p({readOnly:!0})],P.prototype,"createGraphic",null),e([p()],P.prototype,"creationMode",null),e([p()],P.prototype,"customToolOptions",void 0),e([p()],P.prototype,"customActions",void 0),e([p()],P.prototype,"defaultCreateOptions",null),e([p()],P.prototype,"defaultUpdateOptions",null),e([p()],P.prototype,"icon",null),e([p()],P.prototype,"label",null),e([p()],P.prototype,"labelOptions",null),e([p()],P.prototype,"layer",null),e([p({type:["horizontal","vertical"],value:"horizontal"})],P.prototype,"layout",null),e([p({value:"m"})],P.prototype,"scale",null),e([p()],P.prototype,"toolbarKind",void 0),e([p()],P.prototype,"contextualToolLocation",void 0),e([p(),w("esri/widgets/Sketch/t9n/Sketch")],P.prototype,"messages",void 0),e([p(),w("esri/t9n/common")],P.prototype,"messagesCommon",void 0),e([p()],P.prototype,"snappingOptions",null),e([p()],P.prototype,"state",null),e([p()],P.prototype,"tooltipOptions",null),e([p({readOnly:!0})],P.prototype,"updateGraphics",null),e([p({type:u,nonNullable:!0})],P.prototype,"valueOptions",null),e([p()],P.prototype,"view",null),e([p({type:v}),T(["create","update","undo","redo"])],P.prototype,"viewModel",null),e([p({type:m,nonNullable:!0})],P.prototype,"visibleElements",void 0),e([p()],P.prototype,"_effectiveAvailableCreateTools",null),e([p()],P.prototype,"_defaultViewModel",void 0),e([p()],P.prototype,"_calcitePopoverReferenceElement",void 0),e([p()],P.prototype,"_relativeLocation",void 0),e([p()],P.prototype,"_popoverOpen",void 0),P=e([d("esri.widgets.Sketch")],P);const R=P;export{R 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 t}from"../../../chunks/tslib.es6.js";import e from"../../../Graphic.js";import o from"../../../core/Accessor.js";import s from"../../../core/Clonable.js";import r from"../../../core/Collection.js";import a from"../../../core/Identifiable.js";import{ignoreAbortErrors as i,debounce as n}from"../../../core/promiseUtils.js";import c from"../../../core/ReactiveMap.js";import{watch as l,initial as u}from"../../../core/reactiveUtils.js";import{property as d}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as y}from"../../../core/accessorSupport/decorators/subclass.js";import h from"../../../rest/networks/support/NetworkElement.js";import p from"../../../rest/support/Query.js";import{featureUtilityNetworkFields as g}from"../../Feature/FeatureUtilityNetworkAssociations/resources.js";import{findUtilityNetwork as m}from"../../Feature/support/featureUtils.js";const w=100;let b=class extends(s.ClonableMixin(a.IdentifiableMixin(o))){constructor(t){super(t),this._loaded=!1,this._queryAbortController=null,this._queryPageAbortController=null,this._queryFeatureCountAbortController=null,this.networkSourceIdsInUse=new Set,this.source="popup",this.description=null,this.graphic=null,this.layer=null,this.map=null,this.featureCount=0,this.associationTypes=null,this.showAllEnabled=!1,this.title=null,this.attachmentsFeatureCount=0,this.structureFeatureCount=0,this.contentFeatureCount=0,this.containerFeatureCount=0,this.connectivityFeatureCount=0,this._queryOpenAssociationType=async()=>{this.activeAssociationType&&await this._queryDebounced(this.activeAssociationType)},this._cancelQuery=()=>{const{_queryAbortController:t}=this;t&&t.abort(),this._queryAbortController=null},this._cancelQueryFeatureCount=()=>{const{_queryFeatureCountAbortController:t}=this;t&&t.abort(),this._queryFeatureCountAbortController=null},this._queryController=async t=>{this._cancelQuery();const e=new AbortController;this._queryAbortController=e,await i(this._query(t)),this._queryAbortController===e&&(this._queryAbortController=null)},this._queryFeatureCountController=async()=>{this._loaded=!1,this._cancelQueryFeatureCount();const t=new AbortController;this._queryFeatureCountAbortController=t,await i(this._queryFeatureCount()),this._queryFeatureCountAbortController===t&&(this._queryFeatureCountAbortController=null),this._loaded=!0},this._queryDebounced=n(this._queryController,w),this._queryFeatureCountDebounced=n(this._queryFeatureCountController,w)}initialize(){this.addHandles([l((()=>[this.graphic,this.layer,this.map,this.associationTypes,this.objectId,this.globalId,this.canQuery]),(()=>this.refresh()),u),l((()=>this.activeAssociationType),(t=>this._queryDebounced(t)),u)])}destroy(){this._cancelQuery(),this._cancelQueryFeatureCount(),this._destroyAssociatedFeatureViewModels()}get supportsCacheHint(){return!!this.layer?.capabilities?.query?.supportsCacheHint}get canLoad(){return!!this.map&&!!this.associationTypes&&"string"==typeof this.globalId}get canQuery(){const t=this.layer?.capabilities?.query;return!!this.associationTypes&&"string"==typeof this.globalId&&!!t?.supportsPagination}set displayCount(t){const e=0,o=3;this._set("displayCount",Math.max(t??o,e))}get displayCount(){return this._get("displayCount")}get objectId(){return(this.objectIdField&&this.graphic?.attributes?.[this.objectIdField])??null}get objectIdField(){return this.layer?.objectIdField||null}get globalId(){return(this.globalIdField&&this.graphic?.attributes?.[this.globalIdField])??null}get globalIdField(){const{layer:t}=this;return"subtype-sublayer"===t?.type&&t?.parent?t.parent.globalIdField??null:t?.globalIdField??null}get activeAssociationType(){return this._get("activeAssociationType")}set activeAssociationType(t){t&&!this.associationTypes.includes(t)||this._set("activeAssociationType",t)}get state(){const{_queryAbortController:t,_queryFeatureCountAbortController:e,_queryPageAbortController:o,canQuery:s,_loaded:r,canLoad:a}=this;return e||a&&!r?"loading":t||o?"querying":s&&0!==this.featureCount?"ready":"disabled"}get utilityNetwork(){const{layer:t,map:e}=this;return t?.loaded&&e?"subtype-sublayer"===t?.type&&t?.parent?m(e,t.parent)??null:m(e,t)??null:null}get attachmentsAssociations(){return this._get("attachmentsAssociations")||new r}get structureAssociations(){return this._get("structureAssociations")||new r}get contentAssociations(){return this._get("contentAssociations")||new r}get containerAssociations(){return this._get("containerAssociations")||new r}get connectivityAssociations(){return this._get("connectivityAssociations")||new r}get associationFeatures(){return this._get("associationFeatures")||new c}get associationViewModels(){return this._get("associationViewModels")||new Map}async refresh(){await this._queryFeatureCountDebounced(),await this._queryOpenAssociationType()}getFeatureCountForAssociationType(t){switch(t){case"attachment":return this.attachmentsFeatureCount;case"structure":return this.structureFeatureCount;case"content":return this.contentFeatureCount;case"container":return this.containerFeatureCount;case"connectivity":return this.connectivityFeatureCount}}_destroyAssociatedFeatureViewModels(){this.associationViewModels.forEach((t=>t.destroyAll()))}async _loadUtiltyNetworks(){const t=this.map;if(!t)return;await Promise.allSettled(t.utilityNetworks?.map((async t=>{await t.load()}))??[]);const e=this.utilityNetwork;if(e){const o=t=>{if("layerId"in t&&e.isUtilityLayer(t)){const o=e.getSourceIdByLayerId(t.layerId);null!==o&&this.networkSourceIdsInUse.add(o)}};this._set("networkSourceIdsInUse",new Set),t.allLayers.forEach(o),t.allTables.forEach(o)}}async _findLayersBySourceId(t){const{utilityNetwork:e,map:o}=this,s=t=>{const o=t;if(!t.url)return!1;if(o.layerId===r){return t.url.replace(/\/\d+$/,"")===e?.featureServiceUrl}return!1};await(e?.load());const r=e.getLayerIdBySourceId(t),a=o.allLayers.filter(s),i=o.allTables.filter(s),n=a.concat(i).toArray();return await Promise.allSettled(n.map((t=>t.load()))),n}_clearAssociations(){this.attachmentsAssociations.removeAll(),this.structureAssociations.removeAll(),this.contentAssociations.removeAll(),this.containerAssociations.removeAll(),this.connectivityAssociations.removeAll()}_clearFeatures(){this.associationFeatures.forEach((t=>t.removeAll())),this.associationFeatures.clear()}_getAssociationsByType(t){switch(t){case"attachment":return this.attachmentsAssociations;case"structure":return this.structureAssociations;case"connectivity":return this.connectivityAssociations;case"container":return this.containerAssociations;case"content":return this.contentAssociations}}async _queryLayer(t,e,o,s,r){const a=t.fieldsIndex.get(g.assetGroup),i=t.fieldsIndex.get(g.assetType),n=null!=o,c=null!=s,l="("+e.map((t=>`'${t}'`)).join(", ")+")",u=n?` AND ${a?.name} = ${o}`:"",d=n&&c?` AND ${i?.name} = ${s}`:"",y=`${t.globalIdField} IN ${l}`+u+d,h=new p({outFields:["*"],cacheHint:this.supportsCacheHint,where:y});return await this._queryAll(h,t,{signal:r?.signal})}async _createAssociationFeatureObjects(t,e,o,s,r,a){if(0===t.length)return[];const i=new Map;for(const[c,l]of e){const t=await this._findLayersBySourceId(c);for(const e of t){(await this._queryLayer(e,l,s,r,a)).forEach((t=>{const o=t.layer&&"formTemplate"in t.layer?t.layer.formTemplate:null;if(("popup"===this.source?t.getEffectivePopupTemplate():o)&&t.layer){const o=i.get(t.attributes[e.globalIdField])??[];o.push(t),i.set(t.attributes[e.globalIdField],o)}}))}}const n=[];return t.toArray().forEach((t=>{const{fromNetworkElement:e,toNetworkElement:s}=t,r=e.globalId===o?s:e;(i.get(r.globalId)??[]).forEach((e=>{const o=this.utilityNetwork?.getTerminalById(r?.terminalId)?.name;n.push({association:t,feature:e,terminalName:o})}))})),n}_parseFeatureObjects(t,e){t.forEach((t=>{const o=t?.feature,s=o.layer,a=e.get(s)??new r;a.add(t),e.set(s,a)}))}async _queryAll(t,e,o){const s=[];let r=0,a=!1;t.num=e.sourceJSON?.maxRecordCount??2e3;do{t.start=r;const i=await e.queryFeatures(t,o);s.push(...i.features),a=i.exceededTransferLimit,a&&(r+=i.features.length)}while(a);return s}async _queryAssociations(t){const{layer:e,globalId:o,associationTypes:s,utilityNetwork:r,canQuery:a}=this;if(await Promise.allSettled([e?.load(),r?.load()]),this._clearAssociations(),!(a&&e&&s&&r&&o))return;const i=new h({globalId:o,networkSourceId:r?.getSourceIdByLayerId(e?.layerId??e?.parent?.layerId)}),n=new Set;s.forEach((t=>{switch(t.type){case"attachment":case"structure":n.add("attachment");break;case"container":case"content":n.add("containment");break;case"connectivity":n.add("connectivity"),n.add("junction-junction-connectivity"),n.add("junction-edge-from-connectivity"),n.add("junction-edge-midspan-connectivity"),n.add("junction-edge-to-connectivity")}}));const c=await(r?.queryAssociations({elements:[i],types:Array.from(n)},{signal:t?.signal})),l=new Map,u=new Map;s.forEach((t=>{u.set(t.type,t),l.set(t.type,[])})),c?.forEach((t=>{const{toNetworkElement:e,fromNetworkElement:s}=t;switch(t.associationType){case"connectivity":case"junction-junction-connectivity":case"junction-edge-from-connectivity":case"junction-edge-midspan-connectivity":case"junction-edge-to-connectivity":if(s?.globalId===o){if(null!=u.get("connectivity")?.associatedNetworkSourceId&&u.get("connectivity")?.associatedNetworkSourceId!==e?.networkSourceId)break;l.get("connectivity").push(e.globalId)}else{if(null!=u.get("connectivity")?.associatedNetworkSourceId&&u.get("connectivity")?.associatedNetworkSourceId!==s?.networkSourceId)break;l.get("connectivity")?.push(s.globalId)}this.connectivityAssociations.add(t);break;case"containment":if(s?.globalId===o){if(null!=u.get("content")?.associatedNetworkSourceId&&u.get("content")?.associatedNetworkSourceId!==e?.networkSourceId)break;l.get("content")?.push(e.globalId),this.contentAssociations.add(t)}else{if(null!=u.get("container")?.associatedNetworkSourceId&&u.get("container")?.associatedNetworkSourceId!==s?.networkSourceId)break;l.get("container")?.push(s.globalId),this.containerAssociations.add(t)}break;case"attachment":if(s?.globalId===o){if(null!=u.get("attachment")?.associatedNetworkSourceId&&u.get("attachment")?.associatedNetworkSourceId!==e?.networkSourceId)break;l.get("attachment")?.push(e.globalId),this.attachmentsAssociations.add(t)}else{if(null!=u.get("structure")?.associatedNetworkSourceId&&u.get("structure")?.associatedNetworkSourceId!==s?.networkSourceId)break;l.get("structure")?.push(s.globalId),this.structureAssociations.add(t)}}}));const d=s.map((async e=>{const{associatedNetworkSourceId:o,associatedAssetGroup:s,associatedAssetType:r}=e,a=l.get(e.type),i=null!=s?await this._countAssociatedFeatures(o,a,s,r,t):a.length;switch(e.type){case"attachment":this._set("attachmentsFeatureCount",i);break;case"structure":this._set("structureFeatureCount",i);break;case"content":this._set("contentFeatureCount",i);break;case"container":this._set("containerFeatureCount",i);break;case"connectivity":this._set("connectivityFeatureCount",i)}}));await Promise.allSettled(d)}async _countAssociatedFeatureCount(t,e,o,s,r){const a=t.fieldsIndex.get(g.assetGroup),i=t.fieldsIndex.get(g.assetType),n=null!=s,c="("+e.map((t=>`'${t}'`)).join(", ")+")",l=` AND ${a?.name} = ${o}`,u=n?` AND ${i?.name} = ${s}`:"",d=`${t.globalIdField} IN ${c}`+l+u;return t.queryFeatureCount({where:d,outFields:["*"],returnGeometry:!1},{signal:r?.signal})}async _countAssociatedFeatures(t,e,o,s,r){if(0===e.length)return 0;const a=(await this._findLayersBySourceId(t)).map((async t=>this._countAssociatedFeatureCount(t,e,o,s,r)));return(await Promise.all(a)).reduce(((t,e)=>t+e),0)}async _queryAssociatedFeatures(t,e){const{layer:o,globalId:s,associationTypes:r,utilityNetwork:a,canQuery:i,associationFeatures:n}=this;if(await Promise.allSettled([o?.load(),a?.load()]),!(i&&o&&r&&a))return;const c=this._getAssociationsByType(t.type),{associatedAssetGroup:l,associatedAssetType:u}=t,d=new Map;c.forEach((t=>{const{fromNetworkElement:e,toNetworkElement:o}=t,{networkSourceId:r,elementGlobalId:a}=e.globalId===s?{networkSourceId:o.networkSourceId,elementGlobalId:o.globalId}:{networkSourceId:e.networkSourceId,elementGlobalId:e.globalId},i=d.get(r)||[];i.push(a),d.set(r,i)}));const y=await this._createAssociationFeatureObjects(c,d,s,l,u,e);this._parseFeatureObjects(y,n)}async _queryFeatureCount(){await this._loadUtiltyNetworks();const{_queryFeatureCountAbortController:t,canQuery:e}=this;e?(await this._queryAssociations(t),this._set("featureCount",this.attachmentsFeatureCount+this.structureFeatureCount+this.contentFeatureCount+this.containerFeatureCount+this.connectivityFeatureCount)):this._set("featureCount",0)}async _query(t){if(!t)return;await this._loadUtiltyNetworks();const{_queryAbortController:e}=this;this._destroyAssociatedFeatureViewModels(),this._clearFeatures(),0!==this.featureCount&&(this.destroyed||await this._queryAssociatedFeatures(t,{signal:e?.signal}))}};t([d()],b.prototype,"_loaded",void 0),t([d()],b.prototype,"_queryAbortController",void 0),t([d()],b.prototype,"_queryPageAbortController",void 0),t([d()],b.prototype,"_queryFeatureCountAbortController",void 0),t([d({readOnly:!0})],b.prototype,"supportsCacheHint",null),t([d({readOnly:!0})],b.prototype,"canLoad",null),t([d({readOnly:!0})],b.prototype,"canQuery",null),t([d()],b.prototype,"networkSourceIdsInUse",void 0),t([d({constructOnly:!0})],b.prototype,"source",void 0),t([d()],b.prototype,"description",void 0),t([d({value:3})],b.prototype,"displayCount",null),t([d({type:e})],b.prototype,"graphic",void 0),t([d()],b.prototype,"layer",void 0),t([d()],b.prototype,"map",void 0),t([d({readOnly:!0})],b.prototype,"objectId",null),t([d({readOnly:!0})],b.prototype,"objectIdField",null),t([d({readOnly:!0})],b.prototype,"globalId",null),t([d({readOnly:!0})],b.prototype,"globalIdField",null),t([d()],b.prototype,"featureCount",void 0),t([d()],b.prototype,"associationTypes",void 0),t([d()],b.prototype,"activeAssociationType",null),t([d()],b.prototype,"showAllEnabled",void 0),t([d()],b.prototype,"state",null),t([d()],b.prototype,"title",void 0),t([d({readOnly:!0})],b.prototype,"utilityNetwork",null),t([d({readOnly:!0})],b.prototype,"attachmentsFeatureCount",void 0),t([d({readOnly:!0})],b.prototype,"structureFeatureCount",void 0),t([d({readOnly:!0})],b.prototype,"attachmentsAssociations",null),t([d({readOnly:!0})],b.prototype,"structureAssociations",null),t([d({readOnly:!0})],b.prototype,"contentFeatureCount",void 0),t([d({readOnly:!0})],b.prototype,"containerFeatureCount",void 0),t([d({readOnly:!0})],b.prototype,"contentAssociations",null),t([d({readOnly:!0})],b.prototype,"containerAssociations",null),t([d({readOnly:!0})],b.prototype,"connectivityFeatureCount",void 0),t([d({readOnly:!0})],b.prototype,"connectivityAssociations",null),t([d({readOnly:!0})],b.prototype,"associationFeatures",null),t([d({readOnly:!0})],b.prototype,"associationViewModels",null),b=t([y("esri.widgets.support.UtilityNetworkAssociations.UtilityNetworkAssociationsViewModel")],b);const A=b;export{A as default};
|
|
5
|
+
import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../Graphic.js";import o from"../../../core/Accessor.js";import s from"../../../core/Clonable.js";import r from"../../../core/Collection.js";import a from"../../../core/Identifiable.js";import{ignoreAbortErrors as i,debounce as n}from"../../../core/promiseUtils.js";import c from"../../../core/ReactiveMap.js";import{watch as l,initial as u}from"../../../core/reactiveUtils.js";import{property as d}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as y}from"../../../core/accessorSupport/decorators/subclass.js";import h from"../../../rest/networks/support/NetworkElement.js";import p from"../../../rest/support/Query.js";import{featureUtilityNetworkFields as g}from"../../Feature/FeatureUtilityNetworkAssociations/resources.js";import{findUtilityNetwork as m}from"../../Feature/support/featureUtils.js";const w=100;let b=class extends(s.ClonableMixin(a.IdentifiableMixin(o))){constructor(t){super(t),this._loaded=!1,this._queryAbortController=null,this._queryPageAbortController=null,this._queryFeatureCountAbortController=null,this.networkSourceIdsInUse=new Set,this.source="popup",this.description=null,this.graphic=null,this.layer=null,this.map=null,this.featureCount=0,this.associationTypes=null,this.showAllEnabled=!1,this.title=null,this.attachmentsFeatureCount=0,this.structureFeatureCount=0,this.contentFeatureCount=0,this.containerFeatureCount=0,this.connectivityFeatureCount=0,this._queryOpenAssociationType=async()=>{this.activeAssociationType&&await this._queryDebounced(this.activeAssociationType)},this._cancelQuery=()=>{const{_queryAbortController:t}=this;t&&t.abort(),this._queryAbortController=null},this._cancelQueryFeatureCount=()=>{const{_queryFeatureCountAbortController:t}=this;t&&t.abort(),this._queryFeatureCountAbortController=null},this._queryController=async t=>{this._cancelQuery();const e=new AbortController;this._queryAbortController=e,await i(this._query(t)),this._queryAbortController===e&&(this._queryAbortController=null)},this._queryFeatureCountController=async()=>{this._loaded=!1,this._cancelQueryFeatureCount();const t=new AbortController;this._queryFeatureCountAbortController=t,await i(this._queryFeatureCount()),this._queryFeatureCountAbortController===t&&(this._queryFeatureCountAbortController=null),this._loaded=!0},this._queryDebounced=n(this._queryController,w),this._queryFeatureCountDebounced=n(this._queryFeatureCountController,w)}initialize(){this.addHandles([l((()=>[this.graphic,this.layer,this.map,this.associationTypes,this.objectId,this.globalId,this.canQuery]),(()=>this.refresh()),u),l((()=>this.activeAssociationType),(t=>this._queryDebounced(t)),u)])}destroy(){this._cancelQuery(),this._cancelQueryFeatureCount(),this._destroyAssociatedFeatureViewModels()}get supportsCacheHint(){return!!this.layer?.capabilities?.query?.supportsCacheHint}get canLoad(){return!!this.map&&!!this.associationTypes&&"string"==typeof this.globalId}get canQuery(){const t=this.layer?.capabilities?.query;return!!this.associationTypes&&"string"==typeof this.globalId&&!!t?.supportsPagination}set displayCount(t){const e=0,o=3;this._set("displayCount",Math.max(t??o,e))}get displayCount(){return this._get("displayCount")}get objectId(){return(this.objectIdField&&this.graphic?.attributes?.[this.objectIdField])??null}get objectIdField(){return this.layer?.objectIdField||null}get globalId(){return(this.globalIdField&&this.graphic?.attributes?.[this.globalIdField])??null}get globalIdField(){const{layer:t}=this;return"subtype-sublayer"===t?.type&&t?.parent?t.parent.globalIdField??null:t?.globalIdField??null}get activeAssociationType(){return this._get("activeAssociationType")}set activeAssociationType(t){t&&!this.associationTypes.includes(t)||this._set("activeAssociationType",t)}get state(){const{_queryAbortController:t,_queryFeatureCountAbortController:e,_queryPageAbortController:o,canQuery:s,_loaded:r,canLoad:a}=this;return e||a&&!r?"loading":t||o?"querying":s&&0!==this.featureCount?"ready":"disabled"}get utilityNetwork(){const{layer:t,map:e}=this;return t?.loaded&&e?"subtype-sublayer"===t?.type&&t?.parent?m(e,t.parent)??null:m(e,t)??null:null}get attachmentsAssociations(){return this._get("attachmentsAssociations")||new r}get structureAssociations(){return this._get("structureAssociations")||new r}get contentAssociations(){return this._get("contentAssociations")||new r}get containerAssociations(){return this._get("containerAssociations")||new r}get connectivityAssociations(){return this._get("connectivityAssociations")||new r}get associationFeatures(){return this._get("associationFeatures")||new c}get associationViewModels(){return this._get("associationViewModels")||new Map}async refresh(){await this._queryFeatureCountDebounced(),await this._queryOpenAssociationType()}getFeatureCountForAssociationType(t){switch(t){case"attachment":return this.attachmentsFeatureCount;case"structure":return this.structureFeatureCount;case"content":return this.contentFeatureCount;case"container":return this.containerFeatureCount;case"connectivity":return this.connectivityFeatureCount}}_destroyAssociatedFeatureViewModels(){this.associationViewModels.forEach((t=>t.destroyAll()))}async _loadUtiltyNetworks(){const t=this.map;if(!t)return;await Promise.allSettled(t.utilityNetworks?.map((async t=>{await t.load()}))??[]);const e=this.utilityNetwork;if(e){const o=t=>{if("layerId"in t&&e.isUtilityLayer(t)){const o=e.getSourceIdByLayerId(t.layerId);null!==o&&this.networkSourceIdsInUse.add(o)}};this._set("networkSourceIdsInUse",new Set),t.allLayers.forEach(o),t.allTables.forEach(o)}}async _findLayersBySourceId(t){const{utilityNetwork:e,map:o}=this,s=t=>{const o=t;if(!t.url)return!1;if(o.layerId===r){return t.url.replace(/\/\d+$/,"")===e?.featureServiceUrl}return!1};await(e?.load());const r=e.getLayerIdBySourceId(t),a=o.allLayers.filter(s),i=o.allTables.filter(s),n=a.concat(i).toArray();return await Promise.allSettled(n.map((t=>t.load()))),n}_clearAssociations(){this.attachmentsAssociations.removeAll(),this.structureAssociations.removeAll(),this.contentAssociations.removeAll(),this.containerAssociations.removeAll(),this.connectivityAssociations.removeAll()}_clearFeatures(){this.associationFeatures.forEach((t=>t.removeAll())),this.associationFeatures.clear()}_getAssociationsByType(t){switch(t){case"attachment":return this.attachmentsAssociations;case"structure":return this.structureAssociations;case"connectivity":return this.connectivityAssociations;case"container":return this.containerAssociations;case"content":return this.contentAssociations}}async _queryLayer(t,e,o,s,r){const a=t.fieldsIndex.get(g.assetGroup),i=t.fieldsIndex.get(g.assetType),n=null!=o,c=null!=s,l="("+e.map((t=>`'${t}'`)).join(", ")+")",u=n?` AND ${a?.name} = ${o}`:"",d=n&&c?` AND ${i?.name} = ${s}`:"",y=`${t.globalIdField} IN ${l}`+u+d,h=new p({outFields:["*"],cacheHint:this.supportsCacheHint,where:y});return await this._queryAll(h,t,{signal:r?.signal})}async _createAssociationFeatureObjects(t,e,o,s,r,a){if(0===t.length)return[];const i=new Map;for(const[c,l]of e){const t=await this._findLayersBySourceId(c);for(const e of t){(await this._queryLayer(e,l,s,r,a)).forEach((t=>{if("popup"===this.source?t.layer&&t.getEffectivePopupTemplate():!!t.layer){const o=i.get(t.attributes[e.globalIdField])??[];o.push(t),i.set(t.attributes[e.globalIdField],o)}}))}}const n=[];return t.toArray().forEach((t=>{const{fromNetworkElement:e,toNetworkElement:s}=t,r=e.globalId===o?s:e;(i.get(r.globalId)??[]).forEach((e=>{const o=this.utilityNetwork?.getTerminalById(r?.terminalId)?.name;n.push({association:t,feature:e,terminalName:o})}))})),n}_parseFeatureObjects(t,e){t.forEach((t=>{const o=t?.feature,s=o.layer,a=e.get(s)??new r;a.add(t),e.set(s,a)}))}async _queryAll(t,e,o){const s=[];let r=0,a=!1;t.num=e.sourceJSON?.maxRecordCount??2e3;do{t.start=r;const i=await e.queryFeatures(t,o);s.push(...i.features),a=i.exceededTransferLimit,a&&(r+=i.features.length)}while(a);return s}async _queryAssociations(t){const{layer:e,globalId:o,associationTypes:s,utilityNetwork:r,canQuery:a}=this;if(await Promise.allSettled([e?.load(),r?.load()]),this._clearAssociations(),!(a&&e&&s&&r&&o))return;const i=new h({globalId:o,networkSourceId:r?.getSourceIdByLayerId(e?.layerId??e?.parent?.layerId)}),n=new Set;s.forEach((t=>{switch(t.type){case"attachment":case"structure":n.add("attachment");break;case"container":case"content":n.add("containment");break;case"connectivity":n.add("connectivity"),n.add("junction-junction-connectivity"),n.add("junction-edge-from-connectivity"),n.add("junction-edge-midspan-connectivity"),n.add("junction-edge-to-connectivity")}}));const c=await(r?.queryAssociations({elements:[i],types:Array.from(n)},{signal:t?.signal})),l=new Map,u=new Map;s.forEach((t=>{u.set(t.type,t),l.set(t.type,[])})),c?.forEach((t=>{const{toNetworkElement:e,fromNetworkElement:s}=t;switch(t.associationType){case"connectivity":case"junction-junction-connectivity":case"junction-edge-from-connectivity":case"junction-edge-midspan-connectivity":case"junction-edge-to-connectivity":if(s?.globalId===o){if(null!=u.get("connectivity")?.associatedNetworkSourceId&&u.get("connectivity")?.associatedNetworkSourceId!==e?.networkSourceId)break;l.get("connectivity").push(e.globalId)}else{if(null!=u.get("connectivity")?.associatedNetworkSourceId&&u.get("connectivity")?.associatedNetworkSourceId!==s?.networkSourceId)break;l.get("connectivity")?.push(s.globalId)}this.connectivityAssociations.add(t);break;case"containment":if(s?.globalId===o){if(null!=u.get("content")?.associatedNetworkSourceId&&u.get("content")?.associatedNetworkSourceId!==e?.networkSourceId)break;l.get("content")?.push(e.globalId),this.contentAssociations.add(t)}else{if(null!=u.get("container")?.associatedNetworkSourceId&&u.get("container")?.associatedNetworkSourceId!==s?.networkSourceId)break;l.get("container")?.push(s.globalId),this.containerAssociations.add(t)}break;case"attachment":if(s?.globalId===o){if(null!=u.get("attachment")?.associatedNetworkSourceId&&u.get("attachment")?.associatedNetworkSourceId!==e?.networkSourceId)break;l.get("attachment")?.push(e.globalId),this.attachmentsAssociations.add(t)}else{if(null!=u.get("structure")?.associatedNetworkSourceId&&u.get("structure")?.associatedNetworkSourceId!==s?.networkSourceId)break;l.get("structure")?.push(s.globalId),this.structureAssociations.add(t)}}}));const d=s.map((async e=>{const{associatedNetworkSourceId:o,associatedAssetGroup:s,associatedAssetType:r}=e,a=l.get(e.type),i=null!=s?await this._countAssociatedFeatures(o,a,s,r,t):a.length;switch(e.type){case"attachment":this._set("attachmentsFeatureCount",i);break;case"structure":this._set("structureFeatureCount",i);break;case"content":this._set("contentFeatureCount",i);break;case"container":this._set("containerFeatureCount",i);break;case"connectivity":this._set("connectivityFeatureCount",i)}}));await Promise.allSettled(d)}async _countAssociatedFeatureCount(t,e,o,s,r){const a=t.fieldsIndex.get(g.assetGroup),i=t.fieldsIndex.get(g.assetType),n=null!=s,c="("+e.map((t=>`'${t}'`)).join(", ")+")",l=` AND ${a?.name} = ${o}`,u=n?` AND ${i?.name} = ${s}`:"",d=`${t.globalIdField} IN ${c}`+l+u;return t.queryFeatureCount({where:d,outFields:["*"],returnGeometry:!1},{signal:r?.signal})}async _countAssociatedFeatures(t,e,o,s,r){if(0===e.length)return 0;const a=(await this._findLayersBySourceId(t)).map((async t=>this._countAssociatedFeatureCount(t,e,o,s,r)));return(await Promise.all(a)).reduce(((t,e)=>t+e),0)}async _queryAssociatedFeatures(t,e){const{layer:o,globalId:s,associationTypes:r,utilityNetwork:a,canQuery:i,associationFeatures:n}=this;if(await Promise.allSettled([o?.load(),a?.load()]),!(i&&o&&r&&a))return;const c=this._getAssociationsByType(t.type),{associatedAssetGroup:l,associatedAssetType:u}=t,d=new Map;c.forEach((t=>{const{fromNetworkElement:e,toNetworkElement:o}=t,{networkSourceId:r,elementGlobalId:a}=e.globalId===s?{networkSourceId:o.networkSourceId,elementGlobalId:o.globalId}:{networkSourceId:e.networkSourceId,elementGlobalId:e.globalId},i=d.get(r)||[];i.push(a),d.set(r,i)}));const y=await this._createAssociationFeatureObjects(c,d,s,l,u,e);this._parseFeatureObjects(y,n)}async _queryFeatureCount(){await this._loadUtiltyNetworks();const{_queryFeatureCountAbortController:t,canQuery:e}=this;e?(await this._queryAssociations(t),this._set("featureCount",this.attachmentsFeatureCount+this.structureFeatureCount+this.contentFeatureCount+this.containerFeatureCount+this.connectivityFeatureCount)):this._set("featureCount",0)}async _query(t){if(!t)return;await this._loadUtiltyNetworks();const{_queryAbortController:e}=this;this._destroyAssociatedFeatureViewModels(),this._clearFeatures(),0!==this.featureCount&&(this.destroyed||await this._queryAssociatedFeatures(t,{signal:e?.signal}))}};t([d()],b.prototype,"_loaded",void 0),t([d()],b.prototype,"_queryAbortController",void 0),t([d()],b.prototype,"_queryPageAbortController",void 0),t([d()],b.prototype,"_queryFeatureCountAbortController",void 0),t([d({readOnly:!0})],b.prototype,"supportsCacheHint",null),t([d({readOnly:!0})],b.prototype,"canLoad",null),t([d({readOnly:!0})],b.prototype,"canQuery",null),t([d()],b.prototype,"networkSourceIdsInUse",void 0),t([d({constructOnly:!0})],b.prototype,"source",void 0),t([d()],b.prototype,"description",void 0),t([d({value:3})],b.prototype,"displayCount",null),t([d({type:e})],b.prototype,"graphic",void 0),t([d()],b.prototype,"layer",void 0),t([d()],b.prototype,"map",void 0),t([d({readOnly:!0})],b.prototype,"objectId",null),t([d({readOnly:!0})],b.prototype,"objectIdField",null),t([d({readOnly:!0})],b.prototype,"globalId",null),t([d({readOnly:!0})],b.prototype,"globalIdField",null),t([d()],b.prototype,"featureCount",void 0),t([d()],b.prototype,"associationTypes",void 0),t([d()],b.prototype,"activeAssociationType",null),t([d()],b.prototype,"showAllEnabled",void 0),t([d()],b.prototype,"state",null),t([d()],b.prototype,"title",void 0),t([d({readOnly:!0})],b.prototype,"utilityNetwork",null),t([d({readOnly:!0})],b.prototype,"attachmentsFeatureCount",void 0),t([d({readOnly:!0})],b.prototype,"structureFeatureCount",void 0),t([d({readOnly:!0})],b.prototype,"attachmentsAssociations",null),t([d({readOnly:!0})],b.prototype,"structureAssociations",null),t([d({readOnly:!0})],b.prototype,"contentFeatureCount",void 0),t([d({readOnly:!0})],b.prototype,"containerFeatureCount",void 0),t([d({readOnly:!0})],b.prototype,"contentAssociations",null),t([d({readOnly:!0})],b.prototype,"containerAssociations",null),t([d({readOnly:!0})],b.prototype,"connectivityFeatureCount",void 0),t([d({readOnly:!0})],b.prototype,"connectivityAssociations",null),t([d({readOnly:!0})],b.prototype,"associationFeatures",null),t([d({readOnly:!0})],b.prototype,"associationViewModels",null),b=t([y("esri.widgets.support.UtilityNetworkAssociations.UtilityNetworkAssociationsViewModel")],b);const A=b;export{A as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2165],{38961:(e,t,r)=>{r.d(t,{A:()=>u});var a=r(90237),n=r(5503),i=r(36708),s=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()),i.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,this.length)}_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,s.MZ)()],c.prototype,"getCollections",void 0),(0,a._)([(0,s.MZ)()],c.prototype,"getChildrenFunction",void 0),(0,a._)([(0,s.MZ)()],c.prototype,"itemFilterFunction",void 0),c=(0,a._)([(0,o.$)("esri.core.CollectionFlattener")],c);const u=c},62885:(e,t,r)=>{r.d(t,{H:()=>i,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 i(e){return e}},81583:(e,t,r)=>{r.d(t,{L:()=>o,g:()=>s});var a=r(60999),n=r(5503),i=r(92474);async function s(e,t){return await e.load(),o(e,t)}async function o(e,t){const r=[],s=(...e)=>{for(const t of e)null!=t&&(Array.isArray(t)?s(...t):n.A.isCollection(t)?t.forEach((e=>s(e))):i.A.isLoadable(t)&&r.push(t))};t(s);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}},36708:(e,t,r)=>{r.d(t,{C_:()=>p,OH:()=>h,Vh:()=>m,on:()=>y,pc:()=>g,wB:()=>l,z7:()=>c}),r(60999),r(5503);var a=r(37955),n=r(36563),i=r(97768),s=r(74887),o=r(14012);function l(e,t,r={}){return u(e,t,r,f)}function c(e,t,r={}){return u(e,t,r,d)}function u(e,t,r={},a){let n=null;const s=r.once?(e,r)=>{a(e)&&((0,i.xt)(n),t(e,r))}:(e,r)=>{a(e)&&t(e,r)};if(n=(0,o.Cn)(e,s,r.sync,r.equals),r.initial){const t=e();s(t,t)}return n}function y(e,t,r,s={}){let o=null,c=null,u=null;function y(){o&&c&&(c.remove(),s.onListenerRemove?.(o),o=null,c=null)}function p(e){s.once&&s.once&&(0,i.xt)(u),r(e)}const f=l(e,((e,r)=>{y(),(0,a.wb)(e)&&(o=e,c=(0,a.on)(e,t,p),s.onListenerAdd?.(e))}),{sync:s.sync,initial:!0});return u=(0,n.hA)((()=>{f.remove(),y()})),u}function p(e,t){return function(e,t,r){if((0,s.G4)(r))return Promise.reject((0,s.NK)());const a=e();if(t?.(a))return Promise.resolve(a);let o=null;function l(){o=(0,i.xt)(o)}return new Promise(((a,i)=>{o=(0,n.vE)([(0,s.u7)(r,(()=>{l(),i((0,s.NK)())})),u(e,(e=>{l(),a(e)}),{sync:!1,once:!0},t??f)])}))}(e,d,t)}function f(e){return!0}function d(e){return!!e}r(80559);const h={sync:!0},m={initial:!0},g={sync:!0,initial:!0}},85989:(e,t,r)=>{r.r(t),r.d(t,{default:()=>N});var a=r(90237),n=r(38961),i=r(81583),s=r(53966),o=r(92071),l=r(74887),c=r(36708),u=r(10107),y=(r(44208),r(87811),r(88620)),p=r(36005),f=r(40608),d=r(43937),h=r(35666),m=r(4146),g=r(63074),v=r(16131),L=r(8303),w=r(25036),b=r(75356),S=r(4513),I=r(80812),A=r(5503),M=r(62885);function C(e,t,r){let a,n;if(e)for(let i=0,s=e.length;i<s;i++){if(a=e.at(i),a?.[t]===r)return a;if("group"===a?.type&&(n=C(a.layers,t,r),n))return n}}const x=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||s.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 s.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,M.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)})):s.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 C(this.layers,"id",e)}findLayerByUid(e){return C(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,f.$)("esri.support.LayersMixin")],t),t};function T(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=T(n.tables,t,r);if(e)return e}}}const _=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,"feature"!==t.type&&s.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,M.V)(e,this._get("tables")))}findTableById(e){return T(this.tables,"id",e)}findTableByUid(e){return T(this.tables,"uid",e)}};return(0,a._)([(0,u.MZ)()],t.prototype,"tables",null),t=(0,a._)([(0,f.$)("esri.support.TablesMixin")],t),t},F=Symbol("WebScene");var P=r(92935),G=r(26121),O=r(751);let $=class extends((0,g.dM)((0,w.j)((0,v.q)((0,L.A)(_(x((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:i}=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 i(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(),s.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,O.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 I.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,G.d)(this)}load(e){const t=this.loadFromPortal({supportedTypes:["Feature Service","Feature Collection","Group Layer","Scene Service"],layerModuleTypeMap:S.S,populateGroupLayer:b.N},e).catch((e=>{if((0,l.QP)(e),this.sourceIsPortalItem)throw e}));return this.addResolvingPromise(t),Promise.resolve(this)}async loadAll(){return(0,i.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:[]})],$.prototype,"allLayers",void 0),(0,a._)([(0,u.MZ)({readOnly:!0})],$.prototype,"allTables",void 0),(0,a._)([(0,u.MZ)({json:{read:!0,write:!0}})],$.prototype,"blendMode",void 0),(0,a._)([(0,u.MZ)()],$.prototype,"fullExtent",void 0),(0,a._)([(0,u.MZ)({readOnly:!0})],$.prototype,"sourceIsPortalItem",null),(0,a._)([(0,u.MZ)({json:{read:!1,write:{ignoreOrigin:!0}}})],$.prototype,"layers",void 0),(0,a._)([(0,d.K)("layers")],$.prototype,"_writeLayers",null),(0,a._)([(0,u.MZ)({type:["GroupLayer"]})],$.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}}}})],$.prototype,"portalItem",null),(0,a._)([(0,p.w)("web-map","portalItem",["itemId"])],$.prototype,"readPortalItem",null),(0,a._)([(0,d.K)("web-map","portalItem",{itemId:{type:String}})],$.prototype,"writePortalItem",null),(0,a._)([(0,u.MZ)()],$.prototype,"spatialReference",void 0),(0,a._)([(0,u.MZ)({json:{read:!1},readOnly:!0,value:"group"})],$.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)}}}}})],$.prototype,"visibilityMode",null),$=(0,a._)([(0,f.$)("esri.layers.GroupLayer")],$);const N=$},76369:(e,t,r)=>{r.d(t,{LF:()=>I,M9:()=>A});var a=r(49186),n=r(93637),i=r(40876),s=r(59247),o=r(27865);function l(e,t,r,a){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,l.prototype),n.expected=t,n.found=r,n.location=a,n.name="SyntaxError",n}function c(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function u(e){if(!e||0===e.length)return null;if("string"==typeof e){const t=y(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:y(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 y(e){let t;if(!e)return[];try{t=function(e,t){var r,a={},n=(t=void 0!==t?t:{}).grammarSource,i={start:Be},s=Be,o="none",c=")",u=",",y="(",p="%",f="px",d="cm",h="mm",m="in",g="pt",v="pc",L="deg",w="rad",b="grad",S="turn",I="#",A=".",M="e",C=/^[ \t\n\r]/,x=/^[a-z\-]/,T=/^[0-9a-fA-F]/,_=/^[+\-]/,F=/^[0-9]/,P=We("none"),G=Ue("none",!1),O=Ue(")",!1),$=Ue(",",!1),N=We("whitespace"),E=Re([" ","\t","\n","\r"],!1,!1),V=We("function"),k=Ue("(",!1),U=We("identifier"),R=Re([["a","z"],"-"],!1,!1),W=We("percentage"),D=Ue("%",!1),j=We("length"),H=Ue("px",!1),B=Ue("cm",!1),K=Ue("mm",!1),Z=Ue("in",!1),J=Ue("pt",!1),X=Ue("pc",!1),q=We("angle"),z=Ue("deg",!1),Q=Ue("rad",!1),Y=Ue("grad",!1),ee=Ue("turn",!1),te=We("number"),re=We("color"),ae=Ue("#",!1),ne=Re([["0","9"],["a","f"],["A","F"]],!1,!1),ie=Re(["+","-"],!1,!1),se=Re([["0","9"]],!1,!1),oe=Ue(".",!1),le=Ue("e",!1),ce=function(){return[]},ue=function(e,t){return{type:"function",name:e,parameters:t||[]}},ye=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]},pe=function(e){return{type:"quantity",value:e.value,unit:e.unit}},fe=function(e){return{type:"color",colorType:e.type,value:e.value}},de=function(e){return e},he=function(){return ke()},me=function(e){return{value:e,unit:"%"}},ge=function(e){return{value:e,unit:"px"}},ve=function(e){return{value:e,unit:"cm"}},Le=function(e){return{value:e,unit:"mm"}},we=function(e){return{value:e,unit:"in"}},be=function(e){return{value:e,unit:"pt"}},Se=function(e){return{value:e,unit:"pc"}},Ie=function(e){return{value:e,unit:"deg"}},Ae=function(e){return{value:e,unit:"rad"}},Me=function(e){return{value:e,unit:"grad"}},Ce=function(e){return{value:e,unit:"turn"}},xe=function(e){return{value:e,unit:null}},Te=function(){return{type:"hex",value:ke()}},_e=function(e){return{type:"function",value:e}},Fe=function(){return{type:"named",value:ke()}},Pe=function(){return parseFloat(ke())},Ge=0|t.peg$currPos,Oe=Ge,$e=[{line:1,column:1}],Ne=Ge,Ee=t.peg$maxFailExpected||[],Ve=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in i))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=i[t.startRule]}function ke(){return e.substring(Oe,Ge)}function Ue(e,t){return{type:"literal",text:e,ignoreCase:t}}function Re(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function We(e){return{type:"other",description:e}}function De(t){var r,a=$e[t];if(a)return a;if(t>=$e.length)r=$e.length-1;else for(r=t;!$e[--r];);for(a={line:(a=$e[r]).line,column:a.column};r<t;)10===e.charCodeAt(r)?(a.line++,a.column=1):a.column++,r++;return $e[t]=a,a}function je(e,t,r){var a=De(e),i=De(t);return{source:n,start:{offset:e,line:a.line,column:a.column},end:{offset:t,line:i.line,column:i.column}}}function He(e){Ge<Ne||(Ge>Ne&&(Ne=Ge,Ee=[]),Ee.push(e))}function Be(){var e;return(e=Ke())===a&&(e=function(){var e,t;if(e=[],(t=Ze())!==a)for(;t!==a;)e.push(t),t=Ze();else e=a;return e}()),e}function Ke(){var t,r;return Ve++,t=Ge,Xe(),e.substr(Ge,4)===o?(r=o,Ge+=4):(r=a,0===Ve&&He(G)),r!==a?(Xe(),Oe=t,t=ce()):(Ge=t,t=a),Ve--,t===a&&0===Ve&&He(P),t}function Ze(){var t,r,n,i;return t=Ge,Xe(),(r=function(){var t,r,n;return Ve++,t=Ge,(r=qe())!==a?(40===e.charCodeAt(Ge)?(n=y,Ge++):(n=a,0===Ve&&He(k)),n!==a?(Oe=t,t=de(r)):(Ge=t,t=a)):(Ge=t,t=a),Ve--,t===a&&(r=a,0===Ve&&He(V)),t}())!==a?(Xe(),(n=function(){var t,r,n,i,s,o,l,c;if(t=Ge,(r=Je())!==a){for(n=[],i=Ge,s=Xe(),44===e.charCodeAt(Ge)?(o=u,Ge++):(o=a,0===Ve&&He($)),o===a&&(o=null),l=Xe(),(c=Je())!==a?i=s=[s,o,l,c]:(Ge=i,i=a);i!==a;)n.push(i),i=Ge,s=Xe(),44===e.charCodeAt(Ge)?(o=u,Ge++):(o=a,0===Ve&&He($)),o===a&&(o=null),l=Xe(),(c=Je())!==a?i=s=[s,o,l,c]:(Ge=i,i=a);Oe=t,t=ye(r,n)}else Ge=t,t=a;return t}())===a&&(n=null),Xe(),41===e.charCodeAt(Ge)?(i=c,Ge++):(i=a,0===Ve&&He(O)),i!==a?(Xe(),Oe=t,t=ue(r,n)):(Ge=t,t=a)):(Ge=t,t=a),t}function Je(){var e,t;return e=Ge,(t=ze())===a&&(t=Qe())===a&&(t=Ye())===a&&(t=function(){var e,t;return Ve++,e=Ge,Xe(),(t=tt())!==a?(Oe=e,e=xe(t)):(Ge=e,e=a),Ve--,e===a&&0===Ve&&He(te),e}()),t!==a&&(Oe=e,t=pe(t)),(e=t)===a&&(e=Ge,(t=et())!==a&&(Oe=e,t=fe(t)),e=t),e}function Xe(){var t,r;for(Ve++,t=[],r=e.charAt(Ge),C.test(r)?Ge++:(r=a,0===Ve&&He(E));r!==a;)t.push(r),r=e.charAt(Ge),C.test(r)?Ge++:(r=a,0===Ve&&He(E));return Ve--,r=a,0===Ve&&He(N),t}function qe(){var t,r,n;if(Ve++,t=Ge,r=[],n=e.charAt(Ge),x.test(n)?Ge++:(n=a,0===Ve&&He(R)),n!==a)for(;n!==a;)r.push(n),n=e.charAt(Ge),x.test(n)?Ge++:(n=a,0===Ve&&He(R));else r=a;return r!==a&&(Oe=t,r=he()),Ve--,(t=r)===a&&(r=a,0===Ve&&He(U)),t}function ze(){var t,r,n;return Ve++,t=Ge,Xe(),(r=tt())!==a?(37===e.charCodeAt(Ge)?(n=p,Ge++):(n=a,0===Ve&&He(D)),n!==a?(Oe=t,t=me(r)):(Ge=t,t=a)):(Ge=t,t=a),Ve--,t===a&&0===Ve&&He(W),t}function Qe(){var t,r,n;return Ve++,t=Ge,Xe(),(r=tt())!==a?(e.substr(Ge,2)===f?(n=f,Ge+=2):(n=a,0===Ve&&He(H)),n!==a?(Oe=t,t=ge(r)):(Ge=t,t=a)):(Ge=t,t=a),t===a&&(t=Ge,Xe(),(r=tt())!==a?(e.substr(Ge,2)===d?(n=d,Ge+=2):(n=a,0===Ve&&He(B)),n!==a?(Oe=t,t=ve(r)):(Ge=t,t=a)):(Ge=t,t=a),t===a&&(t=Ge,Xe(),(r=tt())!==a?(e.substr(Ge,2)===h?(n=h,Ge+=2):(n=a,0===Ve&&He(K)),n!==a?(Oe=t,t=Le(r)):(Ge=t,t=a)):(Ge=t,t=a),t===a&&(t=Ge,Xe(),(r=tt())!==a?(e.substr(Ge,2)===m?(n=m,Ge+=2):(n=a,0===Ve&&He(Z)),n!==a?(Oe=t,t=we(r)):(Ge=t,t=a)):(Ge=t,t=a),t===a&&(t=Ge,Xe(),(r=tt())!==a?(e.substr(Ge,2)===g?(n=g,Ge+=2):(n=a,0===Ve&&He(J)),n!==a?(Oe=t,t=be(r)):(Ge=t,t=a)):(Ge=t,t=a),t===a&&(t=Ge,Xe(),(r=tt())!==a?(e.substr(Ge,2)===v?(n=v,Ge+=2):(n=a,0===Ve&&He(X)),n!==a?(Oe=t,t=Se(r)):(Ge=t,t=a)):(Ge=t,t=a)))))),Ve--,t===a&&0===Ve&&He(j),t}function Ye(){var t,r,n;return Ve++,t=Ge,(r=tt())!==a?(e.substr(Ge,3)===L?(n=L,Ge+=3):(n=a,0===Ve&&He(z)),n!==a?(Oe=t,t=Ie(r)):(Ge=t,t=a)):(Ge=t,t=a),t===a&&(t=Ge,(r=tt())!==a?(e.substr(Ge,3)===w?(n=w,Ge+=3):(n=a,0===Ve&&He(Q)),n!==a?(Oe=t,t=Ae(r)):(Ge=t,t=a)):(Ge=t,t=a),t===a&&(t=Ge,(r=tt())!==a?(e.substr(Ge,4)===b?(n=b,Ge+=4):(n=a,0===Ve&&He(Y)),n!==a?(Oe=t,t=Me(r)):(Ge=t,t=a)):(Ge=t,t=a),t===a&&(t=Ge,(r=tt())!==a?(e.substr(Ge,4)===S?(n=S,Ge+=4):(n=a,0===Ve&&He(ee)),n!==a?(Oe=t,t=Ce(r)):(Ge=t,t=a)):(Ge=t,t=a)))),Ve--,t===a&&(r=a,0===Ve&&He(q)),t}function et(){var t,r,n,i;if(Ve++,t=Ge,35===e.charCodeAt(Ge)?(r=I,Ge++):(r=a,0===Ve&&He(ae)),r!==a){if(n=[],i=e.charAt(Ge),T.test(i)?Ge++:(i=a,0===Ve&&He(ne)),i!==a)for(;i!==a;)n.push(i),i=e.charAt(Ge),T.test(i)?Ge++:(i=a,0===Ve&&He(ne));else n=a;n!==a?(Oe=t,t=Te()):(Ge=t,t=a)}else Ge=t,t=a;return t===a&&(t=Ge,(r=Ze())!==a&&(Oe=t,r=_e(r)),(t=r)===a&&(t=Ge,(r=qe())!==a&&(Oe=t,r=Fe()),t=r)),Ve--,t===a&&(r=a,0===Ve&&He(re)),t}function tt(){var t,r,n,i,s,o,l,c;for(t=Ge,r=e.charAt(Ge),_.test(r)?Ge++:(r=a,0===Ve&&He(ie)),r===a&&(r=null),n=Ge,i=[],s=e.charAt(Ge),F.test(s)?Ge++:(s=a,0===Ve&&He(se));s!==a;)i.push(s),s=e.charAt(Ge),F.test(s)?Ge++:(s=a,0===Ve&&He(se));if(46===e.charCodeAt(Ge)?(s=A,Ge++):(s=a,0===Ve&&He(oe)),s!==a){if(o=[],l=e.charAt(Ge),F.test(l)?Ge++:(l=a,0===Ve&&He(se)),l!==a)for(;l!==a;)o.push(l),l=e.charAt(Ge),F.test(l)?Ge++:(l=a,0===Ve&&He(se));else o=a;o!==a?n=i=[i,s,o]:(Ge=n,n=a)}else Ge=n,n=a;if(n===a)if(n=[],i=e.charAt(Ge),F.test(i)?Ge++:(i=a,0===Ve&&He(se)),i!==a)for(;i!==a;)n.push(i),i=e.charAt(Ge),F.test(i)?Ge++:(i=a,0===Ve&&He(se));else n=a;if(n!==a){if(i=Ge,101===e.charCodeAt(Ge)?(s=M,Ge++):(s=a,0===Ve&&He(le)),s!==a){if(o=e.charAt(Ge),_.test(o)?Ge++:(o=a,0===Ve&&He(ie)),o===a&&(o=null),l=[],c=e.charAt(Ge),F.test(c)?Ge++:(c=a,0===Ve&&He(se)),c!==a)for(;c!==a;)l.push(c),c=e.charAt(Ge),F.test(c)?Ge++:(c=a,0===Ve&&He(se));else l=a;l!==a?i=s=[s,o,l]:(Ge=i,i=a)}else Ge=i,i=a;i===a&&(i=null),Oe=t,t=Pe()}else Ge=t,t=a;return t}if(r=s(),t.peg$library)return{peg$result:r,peg$currPos:Ge,peg$FAILED:a,peg$maxFailExpected:Ee,peg$maxFailPos:Ne};if(r!==a&&Ge===e.length)return r;throw r!==a&&Ge<e.length&&He({type:"end"}),function(e,t,r){return new l(l.buildMessage(e,t),e,t,r)}(Ee,Ne<e.length?e.charAt(Ne):null,Ne<e.length?je(Ne,Ne+1):je(Ne,Ne))}(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 p(e.parameters,1),1===e.parameters.length&&(t=g(e.parameters[0])),new s.yG(e.name,t)}(e);case"opacity":return function(e){let t=1;return p(e.parameters,1),1===e.parameters.length&&(t=g(e.parameters[0])),new s.jm(t)}(e);case"hue-rotate":return function(e){let t=0;return p(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!=h[e.unit]))throw new a.A("effect:type-error",`Expected <angle>, Actual: ${f(e)}`,{term:e})}(e),e.value*h[e.unit]||0}(e.parameters[0])),new s.Nd(t)}(e);case"blur":return function(e){let t=0;return p(e.parameters,1),1===e.parameters.length&&(t=v(e.parameters[0]),d(t,e.parameters[0])),new s.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=L(n)}else{const e=v(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 s.$b(t[0],t[1],t[2]||0,r||w("black"))}(e);case"bloom":return function(e){let t=1,r=0,a=0;return p(e.parameters,3),e.parameters[0]&&(t=g(e.parameters[0])),e.parameters[1]&&(r=v(e.parameters[1]),d(r,e.parameters[1])),e.parameters[2]&&(a=g(e.parameters[2])),new s.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 p(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 f(e){if("color"===e.type)return"<color>";if(e.unit){if(e.unit in m)return"<length>";if(e.unit in h)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})}(function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r})(l,Error),l.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var r,a=null;for(r=0;r<e.length;r++)if(e[r].source===this.location.source){a=e[r].text.split(/\r\n|\n|\r/g);break}var n=this.location.start,i=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(n):n,s=this.location.source+":"+i.line+":"+i.column;if(a){var o=this.location.end,l=c("",i.line.toString().length," "),u=a[n.line-1],y=(n.line===o.line?o.column:u.length+1)-n.column||1;t+="\n --\x3e "+s+"\n"+l+" |\n"+i.line+" | "+u+"\n"+l+" | "+c("",n.column-1," ")+c("",y,"^")}else t+="\n at "+s}return t},l.buildMessage=function(e,t){var r={literal:function(e){return'"'+n(e.text)+'"'},class:function(e){var t=e.parts.map((function(e){return Array.isArray(e)?i(e[0])+"-"+i(e[1]):i(e)}));return"["+(e.inverted?"^":"")+t.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(e){return e.description}};function a(e){return e.charCodeAt(0).toString(16).toUpperCase()}function n(e){return 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,(function(e){return"\\x0"+a(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+a(e)}))}function i(e){return 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,(function(e){return"\\x0"+a(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+a(e)}))}function s(e){return r[e.type](e)}return"Expected "+function(e){var t,r,a=e.map(s);if(a.sort(),a.length>0){for(t=1,r=1;t<a.length;t++)a[t-1]!==a[t]&&(a[r]=a[t],r++);a.length=r}switch(a.length){case 1:return a[0];case 2:return a[0]+" or "+a[1];default:return a.slice(0,-1).join(", ")+", or "+a[a.length-1]}}(e)+" but "+function(e){return e?'"'+n(e)+'"':"end of input"}(t)+" found."};const h={deg:1,grad:.9,rad:180/Math.PI,turn:360},m={px:1,cm:96/2.54,mm:96/2.54/10,in:96,pc:16,pt:96/72};function g(e){!function(e){if("quantity"!==e.type||null!==e.unit&&"%"!==e.unit)throw new a.A("effect:type-error",`Expected <double> or <percentage>, Actual: ${f(e)}`,{term:e})}(e);const t=e.value;return d(t,e),"%"===e.unit?.01*t:t}function v(e){return function(e){if("quantity"!==e.type||!(0===e.value&&null===e.unit||e.unit&&null!=m[e.unit]))throw new a.A("effect:type-error",`Expected <length>, Actual: ${f(e)}`,{term:e})}(e),e.value*m[e.unit]||0}function L(e){switch(e.colorType){case"hex":return(0,i.qh)(e.value);case"named":return w(e.value);case"function":return function(e){if(p(e.parameters,4),b.test(e.name))return[g(e.parameters[0]),g(e.parameters[1]),g(e.parameters[2]),e.parameters[3]?g(e.parameters[3]):1];if(S.test(e.name))return(0,i.z$)(function(e){return function(e){if("quantity"!==e.type||null!==e.unit)throw new a.A("effect:type-error",`Expected <double>, Actual: ${f(e)}`,{term:e})}(e),d(e.value,e),e.value}(e.parameters[0]),g(e.parameters[1]),g(e.parameters[2]),e.parameters[3]?g(e.parameters[3]):1);throw new a.A("effect:syntax-error",`Invalid color function '${e.name}'`,{colorFunction:e})}(e.value)}}function w(e){if(!(0,i.V6)(e))throw new a.A("effect:unknown-color",`color '${e}' isn't valid`,{namedColor:e});return(0,i.c4)(e)}const b=/^rgba?/i,S=/^hsla?/i;function I(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:M(r.value)});return t}return M(e)}(e)}catch(e){r?.messages?.push(e)}return null}function A(e,t,r,a){try{const a=function(e){const t=u(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 M(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=[C(r,"amount")];break;case"blur":e=[C(r,"radius","pt")];break;case"hue-rotate":e=[C(r,"angle","deg")];break;case"drop-shadow":e=[C(r,"xoffset","pt"),C(r,"yoffset","pt"),C(r,"blurRadius","pt"),x(r,"color")];break;case"bloom":e=[C(r,"strength"),C(r,"radius","pt"),C(r,"threshold")]}const a=`${r.type}(${e.filter(Boolean).join(" ")})`;u(a),t.push(a)}return t.join(" ")}function C(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})`}},63074:(e,t,r)=>{r.d(t,{LF:()=>c,dM:()=>u,sU:()=>o});var a=r(90237),n=r(10107),i=(r(44208),r(53966),r(87811),r(40608)),s=r(76369);const o={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:!0},"portal-item":{read:!0,write:!0}}}},l={read:{reader:s.LF},write:{allowNull:!0,writer:s.M9}},c={json:{read:!1,write:!1,origins:{"web-map":l,"portal-item":l}}},u=e=>{let t=class extends e{constructor(){super(...arguments),this.blendMode="normal",this.effect=null}};return(0,a._)([(0,n.MZ)(o)],t.prototype,"blendMode",void 0),(0,a._)([(0,n.MZ)(c)],t.prototype,"effect",void 0),t=(0,a._)([(0,i.$)("esri.layers.mixins.BlendLayer")],t),t}},8303:(e,t,r)=>{r.d(t,{A:()=>S});var a=r(90237),n=r(92602),i=r(70333),s=r(78888),o=r(60999),l=r(49186),c=r(53966),u=r(97768),y=r(74887),p=r(84952),f=r(10107),d=(r(44208),r(87811),r(36005)),h=r(40608),m=r(43937),g=r(83531),v=r(20655),L=r(80812),w=r(41318),b=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=!i.id?.findCredential(this.url),n=e===r.id;if(n&&r.portal.user)return this._getUserPrivileges(r,a);let s,o;if(n)s=r.portal.url;else try{s=await(0,g.wI)(this.url,t)}catch(e){(0,y.QP)(e)}if(!s||!(0,p.b8)(s,r.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;o=await(i.id?.getCredential(`${s}/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:s}}),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,b.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?i.id?.findCredential(this.url):null;if(!t)return!0;const r=I.credential===t?I.user:await this._fetchEditingUser(e);return I.credential=t,I.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=i.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,s.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:c}));return u.ok?w.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,f.MZ)({type:L.default})],t.prototype,"portalItem",null),(0,a._)([(0,d.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,f.MZ)({clonable:!1})],t.prototype,"resourceReferences",void 0),(0,a._)([(0,f.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasEditingPrivileges",void 0),(0,a._)([(0,f.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasFullEditingPrivileges",void 0),(0,a._)([(0,f.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasUpdateItemPrivileges",void 0),t=(0,a._)([(0,h.$)("esri.layers.mixins.PortalLayer")],t),t},I={credential:null,user:null}},25036:(e,t,r)=>{r.d(t,{j:()=>s});var a=r(90237),n=r(10107),i=(r(44208),r(53966),r(87811),r(40608));const s=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,i.$)("esri.layers.mixins.ScaleRangeLayer")],t),t}},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}}},75356:(e,t,r)=>{r.d(t,{N:()=>M,populateOperationalLayers:()=>u});var a=r(5503),n=(r(44208),r(22429)),i=r(4513),s=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 M(a,t,r):I(t)?function(e,t,r){t.itemId&&(e.portalItem=new s.default({id:t.itemId,portal:r?.portal}),e.when((()=>{const a=a=>{const n=a.layerId;C(a,e,t,n,r);const i=t.featureCollection?.layers?.[n];i&&a.read(i,r)};e.layers?.forEach(a),e.tables?.forEach(a)})))}(a,t,r.context):S(t)&&await async function(e,t,r){const a=i.S.FeatureLayer,n=await a(),s=t.featureCollection,o=s?.showLegend,l=s?.layers?.map(((a,i)=>{const s=new n;s.read(a,r);const l={...r,ignoreDefaults:!0};return C(s,e,t,i,l),null!=o&&s.read({showLegend:o},l),s}));e.layers.addMany(l??[])}(a,t,r.context)),await(0,c.L)(a,r.context),a}(await b(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",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"},f={ArcGISFeatureLayer:"FeatureLayer"},d={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",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:"UnsupportedLayer"},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},w={...g};async function b(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?i.S[u]:i.S.UnknownLayer;if(I(e)){const t=r?.portal;if(e.itemId){const r=new s.default({id:e.itemId,portal:t});await r.load();const a=(await(0,l.n)(r,new n.v)).className||"UnknownLayer";y=i.S[a]}}else"ArcGISFeatureLayer"===c?function(e){return o(e,"notes")}(e)||function(e){return o(e,"markup")}(e)?y=i.S.MapNotesLayer:function(e){return o(e,"route")}(e)?y=i.S.RouteLayer:S(e)&&(y=i.S.GroupLayer):e.wmtsInfo?.url&&e.wmtsInfo.layerIdentifier?y=i.S.WMTSLayer:"WFS"===c&&"2.0.0"!==e.wfsInfo?.version&&(y=i.S.UnsupportedLayer);return y()}function S(e){return"ArcGISFeatureLayer"===e.layerType&&!I(e)&&(e.featureCollection?.layers?.length??0)>1}function I(e){return"Feature Collection"===e.type}function A(e){let t;switch(e.origin){case"web-scene":switch(e.layerContainerType){case"basemap":t=d;break;case"ground":t=p;break;case"tables":t=f;break;default:t=y}break;case"link-chart":switch(e.layerContainerType){case"basemap":t=w;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 M(e,t,r){const n=new a.A,i=u(n,Array.isArray(t.layers)?t.layers:[],r);try{try{if(await i,"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 C(e,t,r,a,n){e.read({id:`${t.id}-sublayer-${a}`,visibility:r.visibleLayers?.includes(a)??!0},n)}},66964:(e,t,r)=>{r.d(t,{Ju:()=>c,K8:()=>p,XH:()=>u,_r:()=>i,bO:()=>s,iK:()=>y,nu:()=>f,pJ:()=>o,rc:()=>l});var a=r(92009),n=r(23154);function i(e){const t={id:e.id,name:e.name},r=(0,n.K)(e.type);return"FeatureLayer"!==r&&(t.layerType=r),t}async function s(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(i),e.tables=e.tables||a?.tables?.map(i)}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?e===t:"ArcGISFeatureLayer"===t))}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"}return null}function p(e){switch(e){case"CatalogLayer":return"CatalogLayer";case"OrientedImageryLayer":return"OrientedImageryLayer";case"SubtypeGroupLayer":return"SubtypeGroupLayer"}return"FeatureLayer"}async function f(e,t,r){if(!e?.url)return t??{};if(t??={},!t.layers){const a=await r.fetchServiceMetadata(e.url);t.layers=a.layers?.map(i)}const{serverUrl:n,portalItem:s}=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&&s){const e=await s.fetchData().catch((()=>null));if(e?.tables)t.tables=e.tables.map(i);else{const a=await r.fetchServiceMetadata(n,{customParameters:o(e)?.customParameters}).catch((()=>null));t.tables=a?.tables?.map(i)}}if(t.tables)for(const e of t.tables)e.url=`${n}/${e.id}`;return t}},45613:(e,t,r)=>{r.d(t,{fromItem:()=>p,n:()=>f});var a=r(49186),n=r(92009),i=r(23154),s=r(22429),o=r(83531),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 s.v;return async function(e){const t=e.className,r=l.S[t];return{constructor:await r(),properties:e.properties}}(await f(e,t))}(t);return new(0,r.constructor)({portalItem:t,...r.properties})}async function f(e,t){switch(e.type){case"3DTiles Service":return{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 d(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 i=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)}),s=i.cacheType?.toLowerCase(),o=i.capabilities?.toLowerCase().includes("tilesonly"),l=i.tileInfo?.format?.toLowerCase()??"",c=null==s&&["jpg","jpeg","png","png8","png24","png32","mixed"].includes(l);return"map"===s||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 d(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 i=await t.fetchServiceMetadata(n,{customParameters:await t.fetchCustomParameters(e,(e=>(0,u.pJ)(e)?.customParameters))});return{className:o.XX[i?.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"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 d(e,t,r){const{url:a,type:n}=e,s="Feature Service"===n;if(!a)return{};if(/\/\d+$/.test(a)){if(s){const r=await t.fetchServiceMetadata(a,{customParameters:await t.fetchCustomParameters(e,(e=>(0,u.pJ)(e)?.customParameters))});return{id:r.id,className:(0,i.K)(r.type),sourceJSON:r}}return{}}await e.load();let o=await t.fetchItemData(e);if(s){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}}},8947:(e,t,r)=>{r.d(t,{L:()=>s});var a=r(60999),n=r(74887),i=r(67076);async function s(e,t,r){const s=e&&e.getAtOrigin&&e.getAtOrigin("renderer",t.origin);if(s&&"unique-value"===s.type&&s.styleOrigin){const o=await(0,a.Ke)(s.populateFromStyle());if((0,n.Te)(r),!1===o.ok){const r=o.error;t?.messages&&t.messages.push(new i.A("renderer:style-reference",`Failed to create unique value renderer from style reference: ${r.message}`,{error:r,context:t})),e.clear("renderer",t?.origin)}}}},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={}))},78553:(e,t,r)=>{r.d(t,{D:()=>i,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 i(e){const t=1-e/100;return Math.max(0,Math.min(t,1))}},26121:(e,t,r)=>{r.d(t,{c:()=>s,d:()=>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)}const i=new Set(["layer:unsupported","property:unsupported","symbol:unsupported","symbol-layer:unsupported","url:unsupported"]);function s(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})=>!(i.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})}},751:(e,t,r)=>{r.d(t,{CJ:()=>p});var a=r(49186),n=r(4718),i=r(93637),s=r(67124),o=r(83531);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","web-tile","wcs","wfs","wms","wmts"]);function u(e,t){if(t.restrictedWebMapWriting){const r=function(e){return"basemap"===e.layerContainerType?l:"operational-layers"===e.layerContainerType?c:null}(t);return null==r||r.has(e.type)&&!(0,o.Ov)(e)}return!0}function y(e,t){"maxScale"in e&&(t.maxScale=(0,s.B)(e.maxScale)??void 0),"minScale"in e&&(t.minScale=(0,s.B)(e.minScale)??void 0)}function p(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(u(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,i.wc)("featureCollection.layers",t),a=r?.[0]?.layerDefinition;a&&y(e,a)}else"group"!==e.type&&y(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,s.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}}}]);
|