@arcgis/core 4.26.0-next.20230220 → 4.26.0
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/treeAnalysis.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0923c0641ca9d9a52efc.js +1 -0
- package/assets/esri/core/workers/chunks/{985ffb4dfa8e598c94b5.js → 0d0bca75414f15371baf.js} +1 -1
- package/assets/esri/core/workers/chunks/253a3e9ce0521a005134.js +1 -0
- package/assets/esri/core/workers/chunks/{5b2bd5829b3831bf9bce.js → 636b4e080d701d5856c7.js} +1 -1
- package/assets/esri/core/workers/chunks/{c6265aea465769ff758b.js → 995ea389fb778b25d927.js} +1 -1
- package/assets/esri/core/workers/chunks/{5d946cee3dc0e7311f98.js → aa864f9ad6b9a92ab328.js} +1 -1
- package/assets/esri/core/workers/chunks/{173febea598431b4e444.js → f3b59aa3b33e3ee70bec.js} +1 -1
- package/assets/esri/core/workers/chunks/{37893e24e4eead6dcec9.js → fd03ba4613f8973f8c86.js} +1 -1
- package/config.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/lazyLayerLoader.js +1 -1
- package/package.json +1 -1
- package/smartMapping/heuristics/clusterMinSize.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
- package/views/2d/interactive/editingTools/TransformTool.js +1 -1
- package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/52a06c5eb51ea1d79000.js +0 -1
- package/assets/esri/core/workers/chunks/a7d2caa47df34a66445a.js +0 -1
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.26/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{HandleOwner as t}from"../../../core/HandleOwner.js";import r from"../../../core/Handles.js";import{someMap as s}from"../../../core/MapUtils.js";import{isSome as o,isNone as
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{HandleOwner as t}from"../../../core/HandleOwner.js";import r from"../../../core/Handles.js";import{someMap as s}from"../../../core/MapUtils.js";import{isSome as o,isNone as n,unwrap as a}from"../../../core/maybe.js";import{eachAlwaysValues as i,throwIfAborted as c}from"../../../core/promiseUtils.js";import{sync as u,watch as p,syncAndInitial as d}from"../../../core/reactiveUtils.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import{subclass as h}from"../../../core/accessorSupport/decorators/subclass.js";import{k as g}from"../../../chunks/vec2.js";import{d as m,c as y}from"../../../chunks/vec3.js";import{c as S}from"../../../chunks/vec3f64.js";import{g as f}from"../../../chunks/common.js";import{SnappingTypes as w}from"../../../layers/graphics/data/QueryEngineResult.js";import{absoluteHeightElevationInfo as v}from"../../../support/elevationInfoUtils.js";import{VerticalHalfPlaneConstraint as _}from"./SnappingConstraint.js";import{SnappingDomain as j}from"./SnappingDomain.js";import{anyMapPointToSnappingPoint as C}from"./SnappingPoint.js";import{sortCandidatesInPlace as F,screenDistance as x}from"./snappingUtils.js";import{DrapedEdgeSnappingCandidate as b}from"./candidates/DrapedEdgeSnappingCandidate.js";import{EdgeSnappingCandidate as R}from"./candidates/EdgeSnappingCandidate.js";import{FeatureSnappingCandidate as L}from"./candidates/FeatureSnappingCandidate.js";import{RightAngleSnappingCandidate as M,OtherVertexType as E}from"./candidates/RightAngleSnappingCandidate.js";import{vectorToScreenPoint as H}from"../support/viewUtils.js";let V=class extends t{get updating(){return s(this.snappingSources,(({snappingSource:e})=>e.updating))||this.updatingHandles.updating}get snappingSources(){const e=this._get("snappingSources")||new Map,t=new Map;if(o(this.options)&&o(this.options.featureSources))for(const r of this.options.featureSources.items){const s=r.layer.uid,n=e.get(s);if(n){e.delete(s),t.set(s,n);continue}if(!r.layer.loaded){this.updatingHandles.addPromise(r.layer.load());continue}const a=this._createSourceInfo(r);o(a)&&t.set(s,a)}for(const[,r]of e)r.destroy();return t}constructor(e){super(e),this.options=null,this._domain=j.FEATURE,this._sourceModules={featureService:{module:null,loader:null},featureCollection:{module:null,loader:null},graphics:{module:null,loader:null},notes:{module:null,loader:null},scene:{module:null,loader:null}}}initialize(){this.updatingHandles.add((()=>this.snappingSources),(()=>this.notifyChange("updating")),u),o(this.view)&&this.handles.add([this.view.on("layerview-create",(e=>this._updateLayerView(e.layer,e.layerView))),this.view.on("layerview-destroy",(e=>this._updateLayerView(e.layer,null)))])}_updateLayerView(e,t){for(const[,r]of this.snappingSources)r.snappingSource.layerSource.layer===e&&(r.layerView=t)}destroy(){this._set("options",null);for(const[,e]of this.snappingSources)e.destroy()}async fetchCandidates(e,t,r,s){if(!(t&this._domain)||n(this.options)||!this.options.effectiveFeatureEnabled)return[];const u=[],p=this._computeScreenSizeDistanceParameters(e,r),d={distance:p,mode:a(this.view)?.type??"2d",point:e,coordinateHelper:r.coordinateHelper,types:this._types};for(const[,{snappingSource:n,layerView:a}]of this.snappingSources)!n.layerSource.enabled||o(a)&&a.suspended||u.push(n.fetchCandidates(d,s).then((e=>e.filter((e=>!this._candidateIsExcluded(n,e,r.excludeFeature))))));const l=(await i(u)).flat();return this._addRightAngleCandidates(l,e,p,r),c(s),F(e,l),l}_addRightAngleCandidates(e,t,r,s){const n=o(s.vertexHandle)?s.vertexHandle.rightEdge?.rightVertex?.pos:o(s.editGeometryOperations)&&"polygon"===s.editGeometryOperations.data.type?a(s.editGeometryOperations.data.components[0]?.getFirstVertex())?.pos:null,i=o(s.vertexHandle)?s.vertexHandle.leftEdge?.leftVertex?.pos:o(s.editGeometryOperations)?a(s.editGeometryOperations.data.components[0]?.getLastVertex())?.pos:null,{view:c}=this,u=C(n,c,s),p=C(i,c,s),d=e.length;for(let o=0;o<d;o++)this._addRightAngleCandidate(e[o],p,t,r,e),this._addRightAngleCandidate(e[o],u,t,r,e)}_addRightAngleCandidate(e,t,r,s,o){if(n(t)||!G(e))return;const a=e.constraint.closestTo(t),i=(a[0]-r[0])/s.x,c=(a[1]-r[1])/s.y,{start:u,end:p}=e.constraint;if(i*i+c*c<=1){const r=new M({targetPoint:a,otherVertex:t,otherVertexType:E.NEXT,previousVertex:g(a,u)>g(a,p)?u:p,constraint:new _(t,a),objectId:e.objectId,isDraped:e.isDraped});o.push(r)}}_computeScreenSizeDistanceParameters(e,t){let r=o(this.options)?this.options.distance*("touch"===t.pointer?this.options.touchSensitivityMultiplier:1):0;return n(this.view)?{x:r,y:r,z:r,distance:r}:"2d"===this.view.type?(r*=this.view.resolution,{x:r,y:r,z:r,distance:r}):this._computeScreenSizeDistanceParameters3D(e,r,this.view,t)}_computeScreenSizeDistanceParameters3D(e,t,r,s){const{spatialReference:o}=s;r.renderCoordsHelper.toRenderCoords(e,o,D);const n=r.state.camera.computeScreenPixelSizeAt(D),a=n*r.renderCoordsHelper.unitInMeters/r.mapCoordsHelper.unitInMeters,i=t*a,c=H(e,o,v,r),u=c?O(c,e,a,0,0,r,s):0,p=c?O(c,e,0,a,0,r,s):0,d=c?O(c,e,0,0,a,r,s):0;return{x:0===u?0:i/u,y:0===p?0:i/p,z:0===d?0:i/d,distance:n*t}}get _types(){return w.EDGE|w.VERTEX}_candidateIsExcluded(e,t,r){if(n(r))return!1;const s=this._getCandidateObjectId(t);if(n(s))return!1;const o=e.layerSource.layer;return"graphics"===o.type?r.uid===s:r.sourceLayer===o&&(!(!r.attributes||!("objectIdField"in o))&&r.attributes[o.objectIdField]===s)}_getCandidateObjectId(e){return e instanceof L?e.objectId:null}_createSourceInfo(e){const t=this._createFeatureSnappingSourceType(e);if(n(t))return null;if("loading"in t)return this.updatingHandles.addPromise(t.loading.then((()=>{this.destroyed||this.notifyChange("snappingSources")}))),null;const r=o(this.view)?this.view.allLayerViews.find((t=>t.layer===e.layer)):null;return new I(t.source,r)}_createFeatureSnappingSourceType(e){switch(e.layer.type){case"feature":case"geojson":case"csv":case"oriented-imagery":case"subtype-group":case"wfs":return this._createFeatureSnappingSourceFeatureLayer(e);case"graphics":return this._createFeatureSnappingSourceGraphicsLayer(e);case"map-notes":return this._createFeatureSnappingSourceMapNotesLayer(e);case"scene":case"building-scene":return this._createFeatureSnappingSourceSceneLayer(e)}return null}_createFeatureSnappingSourceSceneLayer(e){const{view:t}=this;if(n(t)||"3d"!==t.type)return null;const r=this._getSourceModule("scene");return o(r.module)?{source:new r.module.SceneLayerSnappingSource({layerSource:e,view:t})}:{loading:r.loader}}_createFeatureSnappingSourceFeatureLayer(e){switch(e.layer.source?.type){case"feature-layer":case"oriented-imagery":{const t=this._getSourceModule("featureService");return o(t.module)?{source:new t.module.FeatureServiceSnappingSource({spatialReference:this.spatialReference,view:this.view,layerSource:e})}:{loading:t.loader}}case"memory":case"csv":case"geojson":case"wfs":{if("mesh"===e.layer.geometryType)return null;const t=this._getSourceModule("featureCollection");return o(t.module)?{source:new t.module.FeatureCollectionSnappingSource({layerSource:e,view:this.view})}:{loading:t.loader}}}return null}_createFeatureSnappingSourceGraphicsLayer(e){const t=this._getSourceModule("graphics");return o(t.module)?{source:new t.module.GraphicsSnappingSource({getGraphicsLayers:()=>[e.layer],spatialReference:this.spatialReference,view:this.view,layerSource:e})}:{loading:t.loader}}_createFeatureSnappingSourceMapNotesLayer(e){const t=this._getSourceModule("notes");return o(t.module)?{source:new t.module.GraphicsSnappingSource({getGraphicsLayers:()=>o(e.layer.sublayers)?e.layer.sublayers.toArray():[],spatialReference:this.spatialReference,view:this.view,layerSource:e})}:{loading:t.loader}}_getSourceModule(e){const t=this._sourceModules[e];if(n(t.loader)){const r=this._loadSourceModule(e).then((e=>{t.module=e}));return t.loader=r,{module:t.module,loader:r}}return{module:t.module,loader:t.loader}}_loadSourceModule(e){const t=this.updatingHandles;switch(e){case"featureService":return t.addPromise(import("./featureSources/FeatureServiceSnappingSource.js"));case"featureCollection":return t.addPromise(import("./featureSources/FeatureCollectionSnappingSource.js"));case"graphics":case"notes":return t.addPromise(import("./featureSources/GraphicsSnappingSource.js"));case"scene":return t.addPromise(import("./featureSources/SceneLayerSnappingSource.js"))}}};e([l({constructOnly:!0})],V.prototype,"spatialReference",void 0),e([l({constructOnly:!0})],V.prototype,"view",void 0),e([l()],V.prototype,"options",void 0),e([l({readOnly:!0})],V.prototype,"updating",null),e([l({readOnly:!0})],V.prototype,"snappingSources",null),V=e([h("esri.views.interactive.snapping.FeatureSnappingEngine")],V);class I{constructor(e,t){this.snappingSource=e,this.layerView=t,this.handles=new r;const s=this.snappingSource.layerSource.layer;if("refresh"in s){const t=s;this.handles.add(t.on("refresh",(()=>e.refresh())))}this.handles.add([p((()=>e.updating),(t=>e.layerSource.updating=t),d),p((()=>e.availability),(t=>e.layerSource.availability=t),d)])}destroy(){this.snappingSource.destroy(),this.handles.destroy()}}function G(e){return(e instanceof R||e instanceof b)&&!P(e)}function P({constraint:{start:e,end:t}}){const r=m(e,t),s=g(e,t);return r<f()||s/r<A}function O(e,t,r,s,o,n,{spatialReference:a}){const i=y(z,t);i[0]+=r,i[1]+=s,i[2]+=o;const c=H(i,a,v,n);return c?x(c,e):1/0}const D=S(),z=S(),A=1e-4;export{V as FeatureSnappingEngine};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.26/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../chunks/tslib.es6.js";import{createTask as e}from"../../core/asyncUtils.js";import a from"../../core/Collection.js";import{deprecated as r}from"../../core/deprecate.js";import i from"../../core/Error.js";import s from"../../core/Evented.js";import{HandleOwnerMixin as o}from"../../core/HandleOwner.js";import n from"../../core/Logger.js";import{abortMaybe as l,isSome as d}from"../../core/maybe.js";import{watch as p,on as c,when as u,whenOnce as h,initial as w}from"../../core/reactiveUtils.js";import{property as f}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import{subclass as m}from"../../core/accessorSupport/decorators/subclass.js";import y from"../../layers/GraphicsLayer.js";import{getEffectiveLayerCapabilities as k}from"../../layers/support/layerUtils.js";import g from"../Attachments/AttachmentsViewModel.js";import v from"./CreateFeaturesWorkflow.js";import b from"./CreateWorkflow.js";import{workflowDeprecation as _}from"./deprecationUtils.js";import W from"./UpdateWorkflow.js";import{whenEditorLayerView as C}from"./workflowUtils.js";import F from"../FeatureForm/FeatureFormViewModel.js";import E from"../FeatureTemplates/FeatureTemplatesViewModel.js";import I from"../Sketch/SketchViewModel.js";import O from"../Spinner/SpinnerViewModel.js";const U="esri.widgets.Editor.EditorViewModel",A=n.getLogger(U),V=["create","create-features","update"];function M(t,e,a){A.error(new i(t,e,a))}function j(t,e){return t?t.find((t=>t.layer===e)):void 0}let T=class extends(o(s.EventedAccessor)){constructor(t){super(t),this._sketchGraphicsLayer=new y({listMode:"hide",internal:!0}),this._updateEditableItemsTask=null,this.activeWorkflow=null,this._activityQueue=[],this.editableItems=new a,this.failures=[],this.attachmentsViewModel=new g({abilities:{editing:!0}}),this.featureFormViewModel=new F,this.featureTemplatesViewModel=new E,this.sketchViewModel=new I({layer:this._sketchGraphicsLayer}),this.spinnerViewModel=new O,this.pageStack=[],this.showDiscardPrompt=()=>Promise.resolve(),this._candidateCommitted=!1,this.back=async()=>{const t=this.activeWorkflow;if(t&&this.canGoBack){if(this.hasPendingEdits)try{await this.showDiscardPrompt()}catch(e){return}t.hasPreviousStep?await t.previous({cancelCurrentStep:!0}):await this.cancelWorkflow({force:!0})}},this.save=()=>{const{featureFormViewModel:t}=this;t.submit(),!t.submittable||t.validateContingencyConstraints(t.getValues(),{includeIncompleteViolations:!0}).length>0||this.activeWorkflow?.commit()},this.selectFeature=(t,e=!1)=>{const a=this.activeWorkflow;this._candidateCommitted||"update"!==a?.type||(a.data.edits.feature=t,e&&(a.next(),this._candidateCommitted=!0))}}initialize(){this.handles.add([p((()=>{const t=this.view?.map?.editableLayers.filter((({parent:t,visible:e})=>t&&"visible"in t?e&&t.visible:e)),e=this.view?.allLayerViews,a=e?.filter((e=>!!t?.includes(e.layer)));return[t,a,this.layerInfos]}),(()=>this._updateEditableItems()),w),c((()=>this.activeWorkflow),"cancel",(()=>this.emit("workflow-cancel"))),c((()=>this.activeWorkflow),"commit",(()=>this.emit("workflow-commit"))),u((()=>this.view?.map),(t=>{t.add(this._sketchGraphicsLayer)}),w),p((()=>this.editableItems.toArray()),(()=>{const{activeWorkflow:t}=this;if(this.refreshCreationTemplates(),!t)return;const{stepId:e}=t;"create"!==t.type?"update"===t.type&&("awaiting-feature-to-update"===e&&!this.canUpdate||"awaiting-update-feature-candidate"===e&&!t.data.candidates.some((t=>{const e=this.editableItems.find((e=>e.layer===t.layer));return e&&e.supports.includes("update")})))&&this._cancelWorkflow():"awaiting-feature-creation-info"!==e||this.canCreate||this._cancelWorkflow()})),p((()=>this.page),((t,e)=>{const a=this.pageStack.slice(),r=a.indexOf(t);-1===r&&e?a.push(e):a.splice(r),this.pageStack=a})),u((()=>"awaiting-update-feature-candidate"===this.state),(()=>this._candidateCommitted=!1))])}destroy(){this._cancelWorkflow().then((()=>{this.view?.map&&this.view.map.remove(this._sketchGraphicsLayer),this.view=null})),this._updateEditableItemsTask=l(this._updateEditableItemsTask)}get allowedWorkflows(){return this._get("allowedWorkflows")}set allowedWorkflows(t){t&&0!==t.length||(t=[...V]),this._set("allowedWorkflows",t)}get canCreate(){return this.editableItems.some((t=>t.supports.includes("create")))}get canUpdate(){return this.editableItems.some((t=>t.supports.includes("update")||t.supports.includes("delete")||t.attachmentsOnUpdateEnabled))}get labelOptions(){return this.sketchViewModel.labelOptions}set labelOptions(t){this.sketchViewModel.labelOptions=t}set layerInfos(t){t?.some((t=>("allowAttachments"in t&&r(A,"Property: layerInfo.allowAttachments",{replacement:"layerInfo.attachmentsOnCreateEnabled or layerInfo.attachmentsOnUpdateEnabled",version:"4.26"}),!0))),this._set("layerInfos",t)}get snappingOptions(){return this.sketchViewModel.snappingOptions}set snappingOptions(t){this.sketchViewModel.snappingOptions=t}get state(){if(!this.get("view.ready")||0===this.editableItems.length)return"disabled";const t=this.attachmentsViewModel.mode;if("add"===t)return"adding-attachment";if("edit"===t)return"editing-attachment";const{activeWorkflow:e}=this;return e?e.stepId:"ready"}get syncing(){return this._activityQueue.length>0}get updating(){return this.updatingHandles.updating}get tooltipOptions(){return this.sketchViewModel.tooltipOptions}set tooltipOptions(t){this.sketchViewModel.tooltipOptions=t}set view(t){this.sketchViewModel.view=t,this.spinnerViewModel.view=t,this._set("view",t)}get page(){const{activeWorkflow:t,state:e}=this;return"awaiting-feature-to-update"===e||"awaiting-feature-to-create"===e||"create-features"===t?.type&&0===t.pendingFeatures.length?"ready":e??"disabled"}get selectedTemplateItem(){const{activeWorkflow:t}=this;if("create-features"===t?.type&&0===t.pendingFeatures.length){const{template:e}=t.data.creationInfo;for(const t of this.featureTemplatesViewModel.items)if("findByTemplate"in t){const a=t.findByTemplate(e);if(a)return a}else if(t.template===e)return t}}get featureFormDisabled(){const{activeWorkflow:t}=this;return"update"===t?.type&&!1===t?.data.editableItem?.attributeUpdatesEnabled}get canGoBack(){return d(this.activeWorkflow)&&!this.syncing}get shouldShowDeleteButton(){const{activeWorkflow:t}=this;return!!t&&"update"===t.type&&t.data.editableItem.supports.includes("delete")}get hasPendingEdits(){const{activeWorkflow:t}=this;return!!t&&("create"===t.type||"create-features"===t.type&&t.numPendingFeatures>0||"editing-existing-feature"===t.stepId&&t.data.edits.modified)}async startCreateWorkflowAtFeatureTypeSelection(){if(_(A,"startCreateWorkflowAtFeatureTypeSelection","startCreateFeaturesWorkflowAtFeatureTypeSelection"),await h((()=>!this.updating)),!this.canCreate)return void M("editing:unsupported-workflow","Create workflow is unsupported or disabled.");await this._cancelWorkflow();const t=this._createCreateWorkflow();await t.start(),this._set("activeWorkflow",t)}async startCreateFeaturesWorkflowAtFeatureTypeSelection(){return this.startCreateFeaturesWorkflow()}async startCreateWorkflowAtFeatureCreation(t){if(_(A,"startCreateWorkflowAtFeatureCreation","startCreateFeaturesWorkflowAtFeatureCreation"),await h((()=>!this.updating)),!this.canCreate)return void M("editing:unsupported-workflow","Create workflow is unsupported or disabled.");await this._cancelWorkflow();const e=this._createCreateWorkflow("awaiting-feature-to-create");e.data.creationInfo=t,await e.start(),this._set("activeWorkflow",e)}async startCreateFeaturesWorkflowAtFeatureCreation(t){return this.startCreateFeaturesWorkflow(t,"creating-features")}async startCreateFeaturesWorkflow(t,e="awaiting-feature-creation-info"){if(await h((()=>!this.updating)),!this.canCreate)throw new i("editing:unsupported-workflow","Creating features is unsupported or disabled.");await this._cancelWorkflow();const a=this._createCreateFeaturesWorkflow(t,e);await a.start(),this._set("activeWorkflow",a)}async startCreateWorkflowAtFeatureEdit(t){if(_(A,"startCreateWorkflowAtFeatureEdit"),await h((()=>!this.updating)),!this.canCreate)return void M("editing:unsupported-workflow","Create workflow is unsupported or disabled.");await this._cancelWorkflow();const e=this._createCreateWorkflow("editing-new-feature");e.data.edits.feature=t,await e.start(),this._set("activeWorkflow",e)}async startUpdateWorkflowAtFeatureSelection(){if(await h((()=>!this.updating)),!this.canUpdate)return void M("editing:unsupported-workflow","Update workflow is unsupported or disabled.");await this._cancelWorkflow();const t=this._createUpdateWorkflow();await t.start(),this._set("activeWorkflow",t)}async startUpdateWorkflowAtMultipleFeatureSelection(t){if(await h((()=>!this.updating)),!this.canUpdate)return void M("editing:unsupported-workflow","Update workflow is unsupported or disabled.");await this._cancelWorkflow();const e=this._createUpdateWorkflow("awaiting-update-feature-candidate");e.data.candidates=t,await e.start(),this._set("activeWorkflow",e)}async startUpdateWorkflowAtFeatureEdit(t){if(await h((()=>!this.updating)),!this.canUpdate)return void M("editing:unsupported-workflow","Update workflow is unsupported or disabled.");await this._cancelWorkflow();const e=this._createUpdateWorkflow("editing-existing-feature");e.data.edits.feature=t,await e.start(),this._set("activeWorkflow",e)}async deleteFeatureFromWorkflow(){const{activeWorkflow:t}=this;t&&"update"===t.type?(await this._delete(t.data.edits.feature),await t.reset()):M("editing:unsupported-workflow","Deleting requires an active update workflow.")}async cancelWorkflow(t){return this._cancelWorkflow({warn:!0,...t})}findEditableItemForLayer(t){const e="subtype-sublayer"===t.type?t.parent:t;return this.editableItems.find((t=>t.layer===e))}refreshCreationTemplates(){const t=[];for(const{layer:e,supports:a}of this.editableItems)e.loaded&&a.includes("create")&&t.push(e);this.featureTemplatesViewModel.layers=t}async _updateEditableItems(){l(this._updateEditableItemsTask);const t=e((async t=>{const e=this.view?.allLayerViews,r=this.view?.map?.editableLayers;if(!e||!r)return;const i=new Set(r),s=r?.filter((t=>{const e=k(t)?.operations;return!(!t.visible||!e?.supportsAdd||e?.supportsQuery)})),o=e.filter((t=>i.has(t.layer))),n=[];for(const a of o.reverse()){const{layer:t,suspended:e}=a;"subtype-group"===t.type?(await t.loadAll(),n.push(...t.sublayers.slice().reverse().map((t=>this._makeEditableItemForLayer(t,e))))):n.push(this._makeEditableItemForLayer(t,e))}for(const a of s.reverse())"subtype-group"===a.type?(await a.loadAll(),n.push(...a.sublayers.map((t=>this._makeEditableItemForLayer(t,!1))))):n.push(this._makeEditableItemForLayer(a,!1));if(t.aborted)return;const l=this.editableItems;this.editableItems=new a(n),l.destroy()}));this.updatingHandles.addPromise(t.promise),this._updateEditableItemsTask=t}async _cancelWorkflow(t){const e=this.activeWorkflow;if(!e)return void(t&&t.warn&&M("editing:no-active-workflow","There is no active workflow to cancel."));if(!t||!1!==t.force)return this.emit("workflow-cancel"),this._set("activeWorkflow",null),void await e.cancel(t);await e.cancel(t),this._set("activeWorkflow",null)}_createCreateFeaturesWorkflow(t,e){return v.create(this,t,e,((t,e,a)=>this._applyEdits(t,e,a)),((t,e)=>this._addAttachments(t,e)))}_createCreateWorkflow(t){return b.create(this,t,((t,e,a)=>this._applyEdits(t,e,a)))}_createUpdateWorkflow(t){return W.create(this,t,((t,e)=>this._applyEdits(t,e)))}async _delete(t){const e=t?.sourceLayer;e&&"applyEdits"in e&&await this._applyEdits(e,{deleteFeatures:[t]})}_addAttachments(t,e){const a=[];return e?.forEach((e=>a.push(this._addAttachment(t,e.feature,e.attachment)))),Promise.all(a)}async _addAttachment(t,e,a){let r=null;if("geojson"===t.type||"scene"===t.type||"oriented-imagery"===t.type)throw new i("editor:attachments-not-supported","Adding attachments is not supported for this layer type");return await this._queueOperation((async()=>(r=await(t.addAttachment?.(e,a).catch((t=>{throw t?.error||t})))??null,r))),r}async _applyEdits(t,e,a){let r=null;return await this._queueOperation((async()=>{if(k(t)?.operations.supportsQuery){const i=await C(this.view,t);return r=await t.applyEdits(e,a),await h((()=>!i.updating)),r}return r=await t.applyEdits(e,a),r})),r}_queueOperation(t){this._activityQueue.push(t),this.notifyChange("syncing");const e=(t,e)=>{const a=e.indexOf(t);a>-1&&e.splice(a,1)};return t().then((t=>{if("error"in t&&t.error)throw t.error;if("addFeatureResults"in t){const{addFeatureResults:e,deleteFeatureResults:a,updateFeatureResults:r}=t,i=e.find((t=>!!t.error))||r.find((t=>!!t.error))||a.find((t=>!!t.error));if(i)throw i.error}return t})).catch((a=>{M("editing:operation-error","An error occurred.",{error:a});const r={error:a,retry:()=>(e(r,this.failures),this._queueOperation(t)),cancel:()=>{e(r,this.failures)}};this._set("failures",[...this.failures,r])})).then((()=>{e(t,this._activityQueue),this.notifyChange("syncing")}))}_makeEditableItemForLayer(t,e=!0){const a=k(t),r=a?.operations,i=j(this.layerInfos,t),s=this.allowedWorkflows,o=s.includes("create")||s.includes("create-features"),n=s.includes("update"),l=t=>!i||!1!==i.enabled&&!1!==i[t],d=o&&!!r?.supportsAdd&&l("addEnabled"),p=n&&!!r?.supportsUpdate&&l("updateEnabled"),c=n&&!!r?.supportsDelete&&l("deleteEnabled"),u=[];e||(d&&u.push("create"),p&&u.push("update"),c&&u.push("delete"));const h=p&&(!i||!1!==i.attributeUpdatesEnabled),w=p&&!!a?.editing?.supportsGeometryUpdate&&(!i||!1!==i.geometryUpdatesEnabled),f=!(!a?.data?.supportsAttachment||i&&!1===i.allowAttachments);return{layer:t,supports:u,attributeUpdatesEnabled:h,geometryUpdatesEnabled:w,hasAttachments:f,attachmentsOnCreateEnabled:f&&o&&(!i||!1!==i.attachmentsOnCreateEnabled),attachmentsOnUpdateEnabled:f&&(!i||!1!==i.attachmentsOnUpdateEnabled)}}};t([f({readOnly:!0})],T.prototype,"activeWorkflow",void 0),t([f({readOnly:!0})],T.prototype,"_activityQueue",void 0),t([f({value:[...V]})],T.prototype,"allowedWorkflows",null),t([f({readOnly:!0})],T.prototype,"canCreate",null),t([f({readOnly:!0})],T.prototype,"canUpdate",null),t([f()],T.prototype,"editableItems",void 0),t([f({readOnly:!0})],T.prototype,"failures",void 0),t([f()],T.prototype,"attachmentsViewModel",void 0),t([f()],T.prototype,"featureFormViewModel",void 0),t([f()],T.prototype,"featureTemplatesViewModel",void 0),t([f()],T.prototype,"labelOptions",null),t([f()],T.prototype,"layerInfos",null),t([f()],T.prototype,"sketchViewModel",void 0),t([f()],T.prototype,"snappingOptions",null),t([f()],T.prototype,"spinnerViewModel",void 0),t([f()],T.prototype,"state",null),t([f({readOnly:!0})],T.prototype,"syncing",null),t([f()],T.prototype,"updating",null),t([f()],T.prototype,"tooltipOptions",null),t([f()],T.prototype,"view",null),t([f()],T.prototype,"pageStack",void 0),t([f()],T.prototype,"showDiscardPrompt",void 0),t([f()],T.prototype,"_candidateCommitted",void 0),t([f()],T.prototype,"page",null),t([f()],T.prototype,"selectedTemplateItem",null),t([f()],T.prototype,"featureFormDisabled",null),t([f()],T.prototype,"canGoBack",null),t([f()],T.prototype,"shouldShowDeleteButton",null),t([f()],T.prototype,"hasPendingEdits",null),T=t([m(U)],T);const S=T;export{S as default};
|
|
5
|
+
import{_ as t}from"../../chunks/tslib.es6.js";import{createTask as e}from"../../core/asyncUtils.js";import a from"../../core/Collection.js";import{deprecated as r}from"../../core/deprecate.js";import i from"../../core/Error.js";import s from"../../core/Evented.js";import{HandleOwnerMixin as o}from"../../core/HandleOwner.js";import n from"../../core/Logger.js";import{abortMaybe as l,isSome as d}from"../../core/maybe.js";import{watch as p,on as c,when as u,whenOnce as h,initial as w}from"../../core/reactiveUtils.js";import{property as f}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import{subclass as m}from"../../core/accessorSupport/decorators/subclass.js";import y from"../../layers/GraphicsLayer.js";import{getEffectiveLayerCapabilities as k}from"../../layers/support/layerUtils.js";import g from"../Attachments/AttachmentsViewModel.js";import v from"./CreateFeaturesWorkflow.js";import b from"./CreateWorkflow.js";import{workflowDeprecation as _}from"./deprecationUtils.js";import W from"./UpdateWorkflow.js";import{whenEditorLayerView as C}from"./workflowUtils.js";import F from"../FeatureForm/FeatureFormViewModel.js";import E from"../FeatureTemplates/FeatureTemplatesViewModel.js";import I from"../Sketch/SketchViewModel.js";import O from"../Spinner/SpinnerViewModel.js";const U="esri.widgets.Editor.EditorViewModel",A=n.getLogger(U),V=["create","create-features","update"];function M(t,e,a){A.error(new i(t,e,a))}function j(t,e){return t?t.find((t=>t.layer===e)):void 0}let T=class extends(o(s.EventedAccessor)){constructor(t){super(t),this._sketchGraphicsLayer=new y({listMode:"hide",internal:!0}),this._updateEditableItemsTask=null,this.activeWorkflow=null,this._activityQueue=[],this.editableItems=new a,this.failures=[],this.attachmentsViewModel=new g({abilities:{editing:!0}}),this.featureFormViewModel=new F,this.featureTemplatesViewModel=new E,this.sketchViewModel=new I({layer:this._sketchGraphicsLayer}),this.spinnerViewModel=new O,this.pageStack=[],this.showDiscardPrompt=()=>Promise.resolve(),this._candidateCommitted=!1,this.back=async()=>{const t=this.activeWorkflow;if(t&&this.canGoBack){if(this.hasPendingEdits)try{await this.showDiscardPrompt()}catch(e){return}t.hasPreviousStep?await t.previous({cancelCurrentStep:!0}):await this.cancelWorkflow({force:!0})}},this.save=()=>{const{featureFormViewModel:t}=this;t.submit(),!t.submittable||t.validateContingencyConstraints(t.getValues(),{includeIncompleteViolations:!0}).length>0||this.activeWorkflow?.commit()},this.selectFeature=(t,e=!1)=>{const a=this.activeWorkflow;this._candidateCommitted||"update"!==a?.type||(a.data.edits.feature=t,e&&(a.next(),this._candidateCommitted=!0))}}initialize(){this.handles.add([p((()=>{const t=this.view?.map?.editableLayers.filter((({parent:t,visible:e})=>t&&"visible"in t?e&&t.visible:e)),e=this.view?.allLayerViews,a=e?.filter((e=>!!t?.includes(e.layer)&&!e.suspended));return[t,a,this.layerInfos,this.allowedWorkflows]}),(()=>this._updateEditableItems()),w),c((()=>this.activeWorkflow),"cancel",(()=>this.emit("workflow-cancel"))),c((()=>this.activeWorkflow),"commit",(()=>this.emit("workflow-commit"))),u((()=>this.view?.map),(t=>{t.add(this._sketchGraphicsLayer)}),w),p((()=>this.editableItems.toArray()),(()=>{const{activeWorkflow:t}=this;if(this.refreshCreationTemplates(),!t)return;const{stepId:e}=t;"create"!==t.type?"update"===t.type&&("awaiting-feature-to-update"===e&&!this.canUpdate||"awaiting-update-feature-candidate"===e&&!t.data.candidates.some((t=>{const e=this.editableItems.find((e=>e.layer===t.layer));return e&&e.supports.includes("update")})))&&this._cancelWorkflow():"awaiting-feature-creation-info"!==e||this.canCreate||this._cancelWorkflow()})),p((()=>this.page),((t,e)=>{const a=this.pageStack.slice(),r=a.indexOf(t);-1===r&&e?a.push(e):a.splice(r),this.pageStack=a})),u((()=>"awaiting-update-feature-candidate"===this.state),(()=>this._candidateCommitted=!1))])}destroy(){this._cancelWorkflow().then((()=>{this.view?.map&&this.view.map.remove(this._sketchGraphicsLayer),this.view=null})),this._updateEditableItemsTask=l(this._updateEditableItemsTask)}get allowedWorkflows(){return this._get("allowedWorkflows")}set allowedWorkflows(t){t&&0!==t.length||(t=[...V]),this._set("allowedWorkflows",t)}get canCreate(){return this.editableItems.some((t=>t.supports.includes("create")))}get canUpdate(){return this.editableItems.some((t=>t.supports.includes("update")||t.supports.includes("delete")||t.attachmentsOnUpdateEnabled))}get labelOptions(){return this.sketchViewModel.labelOptions}set labelOptions(t){this.sketchViewModel.labelOptions=t}set layerInfos(t){t?.some((t=>("allowAttachments"in t&&r(A,"Property: layerInfo.allowAttachments",{replacement:"layerInfo.attachmentsOnCreateEnabled or layerInfo.attachmentsOnUpdateEnabled",version:"4.26"}),!0))),this._set("layerInfos",t)}get snappingOptions(){return this.sketchViewModel.snappingOptions}set snappingOptions(t){this.sketchViewModel.snappingOptions=t}get state(){if(!this.get("view.ready")||0===this.editableItems.length)return"disabled";const t=this.attachmentsViewModel.mode;if("add"===t)return"adding-attachment";if("edit"===t)return"editing-attachment";const{activeWorkflow:e}=this;return e?e.stepId:"ready"}get syncing(){return this._activityQueue.length>0}get updating(){return this.updatingHandles.updating}get tooltipOptions(){return this.sketchViewModel.tooltipOptions}set tooltipOptions(t){this.sketchViewModel.tooltipOptions=t}set view(t){this.sketchViewModel.view=t,this.spinnerViewModel.view=t,this._set("view",t)}get page(){const{activeWorkflow:t,state:e}=this;return"awaiting-feature-to-update"===e||"awaiting-feature-to-create"===e||"create-features"===t?.type&&0===t.pendingFeatures.length?"ready":e??"disabled"}get selectedTemplateItem(){const{activeWorkflow:t}=this;if("create-features"===t?.type&&0===t.pendingFeatures.length){const{template:e}=t.data.creationInfo;for(const t of this.featureTemplatesViewModel.items)if("findByTemplate"in t){const a=t.findByTemplate(e);if(a)return a}else if(t.template===e)return t}}get featureFormDisabled(){const{activeWorkflow:t}=this;return"update"===t?.type&&!1===t?.data.editableItem?.attributeUpdatesEnabled}get canGoBack(){return d(this.activeWorkflow)&&!this.syncing}get shouldShowDeleteButton(){const{activeWorkflow:t}=this;return!!t&&"update"===t.type&&t.data.editableItem.supports.includes("delete")}get hasPendingEdits(){const{activeWorkflow:t}=this;return!!t&&("create"===t.type||"create-features"===t.type&&t.numPendingFeatures>0||"editing-existing-feature"===t.stepId&&t.data.edits.modified)}async startCreateWorkflowAtFeatureTypeSelection(){if(_(A,"startCreateWorkflowAtFeatureTypeSelection","startCreateFeaturesWorkflowAtFeatureTypeSelection"),await h((()=>!this.updating)),!this.canCreate)return void M("editing:unsupported-workflow","Create workflow is unsupported or disabled.");await this._cancelWorkflow();const t=this._createCreateWorkflow();await t.start(),this._set("activeWorkflow",t)}async startCreateFeaturesWorkflowAtFeatureTypeSelection(){return this.startCreateFeaturesWorkflow()}async startCreateWorkflowAtFeatureCreation(t){if(_(A,"startCreateWorkflowAtFeatureCreation","startCreateFeaturesWorkflowAtFeatureCreation"),await h((()=>!this.updating)),!this.canCreate)return void M("editing:unsupported-workflow","Create workflow is unsupported or disabled.");await this._cancelWorkflow();const e=this._createCreateWorkflow("awaiting-feature-to-create");e.data.creationInfo=t,await e.start(),this._set("activeWorkflow",e)}async startCreateFeaturesWorkflowAtFeatureCreation(t){return this.startCreateFeaturesWorkflow(t,"creating-features")}async startCreateFeaturesWorkflow(t,e="awaiting-feature-creation-info"){if(await h((()=>!this.updating)),!this.canCreate)throw new i("editing:unsupported-workflow","Creating features is unsupported or disabled.");await this._cancelWorkflow();const a=this._createCreateFeaturesWorkflow(t,e);await a.start(),this._set("activeWorkflow",a)}async startCreateWorkflowAtFeatureEdit(t){if(_(A,"startCreateWorkflowAtFeatureEdit"),await h((()=>!this.updating)),!this.canCreate)return void M("editing:unsupported-workflow","Create workflow is unsupported or disabled.");await this._cancelWorkflow();const e=this._createCreateWorkflow("editing-new-feature");e.data.edits.feature=t,await e.start(),this._set("activeWorkflow",e)}async startUpdateWorkflowAtFeatureSelection(){if(await h((()=>!this.updating)),!this.canUpdate)return void M("editing:unsupported-workflow","Update workflow is unsupported or disabled.");await this._cancelWorkflow();const t=this._createUpdateWorkflow();await t.start(),this._set("activeWorkflow",t)}async startUpdateWorkflowAtMultipleFeatureSelection(t){if(await h((()=>!this.updating)),!this.canUpdate)return void M("editing:unsupported-workflow","Update workflow is unsupported or disabled.");await this._cancelWorkflow();const e=this._createUpdateWorkflow("awaiting-update-feature-candidate");e.data.candidates=t,await e.start(),this._set("activeWorkflow",e)}async startUpdateWorkflowAtFeatureEdit(t){if(await h((()=>!this.updating)),!this.canUpdate)return void M("editing:unsupported-workflow","Update workflow is unsupported or disabled.");await this._cancelWorkflow();const e=this._createUpdateWorkflow("editing-existing-feature");e.data.edits.feature=t,await e.start(),this._set("activeWorkflow",e)}async deleteFeatureFromWorkflow(){const{activeWorkflow:t}=this;t&&"update"===t.type?(await this._delete(t.data.edits.feature),await t.reset()):M("editing:unsupported-workflow","Deleting requires an active update workflow.")}async cancelWorkflow(t){return this._cancelWorkflow({warn:!0,...t})}findEditableItemForLayer(t){const e="subtype-sublayer"===t.type?t.parent:t;return this.editableItems.find((t=>t.layer===e))}refreshCreationTemplates(){const t=[];for(const{layer:e,supports:a}of this.editableItems)e.loaded&&a.includes("create")&&t.push(e);this.featureTemplatesViewModel.layers=t}async _updateEditableItems(){l(this._updateEditableItemsTask);const t=e((async t=>{const e=this.view?.allLayerViews,r=this.view?.map?.editableLayers;if(!e||!r)return;const i=new Set(r),s=r?.filter((t=>{const e=k(t)?.operations;return!(!t.visible||!e?.supportsAdd||e?.supportsQuery)})),o=e.filter((t=>i.has(t.layer))),n=[];for(const a of o.reverse()){const{layer:t,suspended:e}=a;"subtype-group"===t.type?(await t.loadAll(),n.push(...t.sublayers.slice().reverse().map((t=>this._makeEditableItemForLayer(t,e))))):n.push(this._makeEditableItemForLayer(t,e))}for(const a of s.reverse())"subtype-group"===a.type?(await a.loadAll(),n.push(...a.sublayers.map((t=>this._makeEditableItemForLayer(t,!1))))):n.push(this._makeEditableItemForLayer(a,!1));if(t.aborted)return;const l=this.editableItems;this.editableItems=new a(n),l.destroy()}));this.updatingHandles.addPromise(t.promise),this._updateEditableItemsTask=t}async _cancelWorkflow(t){const e=this.activeWorkflow;if(!e)return void(t&&t.warn&&M("editing:no-active-workflow","There is no active workflow to cancel."));if(!t||!1!==t.force)return this.emit("workflow-cancel"),this._set("activeWorkflow",null),void await e.cancel(t);await e.cancel(t),this._set("activeWorkflow",null)}_createCreateFeaturesWorkflow(t,e){return v.create(this,t,e,((t,e,a)=>this._applyEdits(t,e,a)),((t,e)=>this._addAttachments(t,e)))}_createCreateWorkflow(t){return b.create(this,t,((t,e,a)=>this._applyEdits(t,e,a)))}_createUpdateWorkflow(t){return W.create(this,t,((t,e)=>this._applyEdits(t,e)))}async _delete(t){const e=t?.sourceLayer;e&&"applyEdits"in e&&await this._applyEdits(e,{deleteFeatures:[t]})}_addAttachments(t,e){const a=[];return e?.forEach((e=>a.push(this._addAttachment(t,e.feature,e.attachment)))),Promise.all(a)}async _addAttachment(t,e,a){let r=null;if("geojson"===t.type||"scene"===t.type||"oriented-imagery"===t.type)throw new i("editor:attachments-not-supported","Adding attachments is not supported for this layer type");return await this._queueOperation((async()=>(r=await(t.addAttachment?.(e,a).catch((t=>{throw t?.error||t})))??null,r))),r}async _applyEdits(t,e,a){let r=null;return await this._queueOperation((async()=>{if(k(t)?.operations.supportsQuery){const i=await C(this.view,t);return r=await t.applyEdits(e,a),await h((()=>!i.updating)),r}return r=await t.applyEdits(e,a),r})),r}_queueOperation(t){this._activityQueue.push(t),this.notifyChange("syncing");const e=(t,e)=>{const a=e.indexOf(t);a>-1&&e.splice(a,1)};return t().then((t=>{if("error"in t&&t.error)throw t.error;if("addFeatureResults"in t){const{addFeatureResults:e,deleteFeatureResults:a,updateFeatureResults:r}=t,i=e.find((t=>!!t.error))||r.find((t=>!!t.error))||a.find((t=>!!t.error));if(i)throw i.error}return t})).catch((a=>{M("editing:operation-error","An error occurred.",{error:a});const r={error:a,retry:()=>(e(r,this.failures),this._queueOperation(t)),cancel:()=>{e(r,this.failures)}};this._set("failures",[...this.failures,r])})).then((()=>{e(t,this._activityQueue),this.notifyChange("syncing")}))}_makeEditableItemForLayer(t,e=!0){const a=k(t),r=a?.operations,i=j(this.layerInfos,t),s=this.allowedWorkflows,o=s.includes("create")||s.includes("create-features"),n=s.includes("update"),l=t=>!i||!1!==i.enabled&&!1!==i[t],d=o&&!!r?.supportsAdd&&l("addEnabled"),p=n&&!!r?.supportsUpdate&&l("updateEnabled"),c=n&&!!r?.supportsDelete&&l("deleteEnabled"),u=[];e||(d&&u.push("create"),p&&u.push("update"),c&&u.push("delete"));const h=p&&(!i||!1!==i.attributeUpdatesEnabled),w=p&&!!a?.editing?.supportsGeometryUpdate&&(!i||!1!==i.geometryUpdatesEnabled),f=!(!a?.data?.supportsAttachment||i&&!1===i.allowAttachments);return{layer:t,supports:u,attributeUpdatesEnabled:h,geometryUpdatesEnabled:w,hasAttachments:f,attachmentsOnCreateEnabled:f&&o&&(!i||!1!==i.attachmentsOnCreateEnabled),attachmentsOnUpdateEnabled:f&&(!i||!1!==i.attachmentsOnUpdateEnabled)}}};t([f({readOnly:!0})],T.prototype,"activeWorkflow",void 0),t([f({readOnly:!0})],T.prototype,"_activityQueue",void 0),t([f({value:[...V]})],T.prototype,"allowedWorkflows",null),t([f({readOnly:!0})],T.prototype,"canCreate",null),t([f({readOnly:!0})],T.prototype,"canUpdate",null),t([f()],T.prototype,"editableItems",void 0),t([f({readOnly:!0})],T.prototype,"failures",void 0),t([f()],T.prototype,"attachmentsViewModel",void 0),t([f()],T.prototype,"featureFormViewModel",void 0),t([f()],T.prototype,"featureTemplatesViewModel",void 0),t([f()],T.prototype,"labelOptions",null),t([f()],T.prototype,"layerInfos",null),t([f()],T.prototype,"sketchViewModel",void 0),t([f()],T.prototype,"snappingOptions",null),t([f()],T.prototype,"spinnerViewModel",void 0),t([f()],T.prototype,"state",null),t([f({readOnly:!0})],T.prototype,"syncing",null),t([f()],T.prototype,"updating",null),t([f()],T.prototype,"tooltipOptions",null),t([f()],T.prototype,"view",null),t([f()],T.prototype,"pageStack",void 0),t([f()],T.prototype,"showDiscardPrompt",void 0),t([f()],T.prototype,"_candidateCommitted",void 0),t([f()],T.prototype,"page",null),t([f()],T.prototype,"selectedTemplateItem",null),t([f()],T.prototype,"featureFormDisabled",null),t([f()],T.prototype,"canGoBack",null),t([f()],T.prototype,"shouldShowDeleteButton",null),t([f()],T.prototype,"hasPendingEdits",null),T=t([m(U)],T);const S=T;export{S as default};
|