EditorViewModel

AMD: require(["geoscene/widgets/Editor/EditorViewModel"], (EditorVM) => { /* code goes here */ });
ESM: import EditorVM from "@geoscene/core/widgets/Editor/EditorViewModel";
类: geoscene/widgets/Editor/EditorViewModel
继承于:EditorViewModel Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.11

提供 Editor 微件的逻辑。

另请参阅
示例
const editor = new Editor({
  viewModel: { // autocasts as new EditorViewModel
    layerInfos: [{
      layer: featureLayer,
      deleteEnabled: false // disables deleting features
    }]
  }
});

构造函数

new EditorViewModel(properties)
参数
properties Object
optional

有关可能传递给构造函数的所有属性的列表,请参见属性

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
CreateWorkflow|CreateFeaturesWorkflow|UpdateWorkflow

指示当前活动工作流的属性。

更多详情
EditorViewModel
String

字符串值数组,用于指定允许最终用户编辑的内容。

更多详情
EditorViewModel
AttachmentsViewModel

用于支持编辑器微件的 AttachmentsViewModel

更多详情
EditorViewModel
Boolean

便利属性,用于读取是否存在任何支持 create-features 工作流的可编辑图层。

更多详情
EditorViewModel
Boolean

便利属性,用于读取是否存在任何支持 update 工作流的可编辑图层。

更多详情
EditorViewModel
String

类的名称。

更多详情
Accessor
Collection<EditableItem>

与正在更新的要素相匹配的可编辑项目对象的集合。

更多详情
EditorViewModel
Object[]

对象数组,其中包含特定于任何失败的编辑操作的信息。

更多详情
EditorViewModel
FeatureFormViewModel

用于支持编辑器微件的 FeatureFormViewModel

更多详情
EditorViewModel
FeatureTemplatesViewModel

用于支持编辑器微件的 FeatureTemplatesViewModel

更多详情
EditorViewModel
SketchLabelOptions

该选项用于配置所创建或更新的几何的每个线段旁边显示的标注。

更多详情
EditorViewModel
LayerInfo[]

单个图层的编辑配置数组。

更多详情
EditorViewModel
SketchViewModel

用于支持编辑器微件的 SketchViewModel

更多详情
EditorViewModel
SnappingOptions

用于草绘的 SnappingOptions

更多详情
EditorViewModel
String

微件的状态。

更多详情
EditorViewModel
Boolean

当为 true 时,至少有一个编辑请求正在处理中。

更多详情
EditorViewModel
SketchTooltipOptions

该选项用于在创建或更新图形时配置游标旁边显示的工具提示。

更多详情
EditorViewModel
MapView|SceneView

MapViewSceneView 的引用。

更多详情
EditorViewModel

属性详细信息

指示当前活动工作流的属性。这是 CreateFeaturesWorkflowUpdateWorkflow

allowedWorkflows String

字符串值数组,用于指定允许最终用户编辑的内容。例如,具有完全编辑权限的要素图层可用。但您可能只希望最终用户能够更新现有要素。将 allowedWorkflows 设置为仅 update

可能值 描述
create 这允许最终用户在要素服务中创建新的单个要素。(自 4.23 起已弃用,请使用下述 create-features。)
create-features 这允许最终用户在要素服务中创建单个要素或连续要素。(自 4.23)
update 这允许最终用户更新和/或删除要素服务中的要素。

仅当要素服务允许这些操作时,才会启用这些工作流。

可能值"create-features"|"create"|"update"

attachmentsViewModel AttachmentsViewModel

用于支持编辑器微件的 AttachmentsViewModel。默认情况下,附件编辑处于启用状态。

canCreate Booleanreadonly

便利属性,用于读取是否存在任何支持 create-features 工作流的可编辑图层。

canUpdate Booleanreadonly

便利属性,用于读取是否存在任何支持 update 工作流的可编辑图层。

declaredClass Stringreadonly inherited

类的名称。声明的类名称格式化为 geoscene.folder.className

editableItems Collection<EditableItem>readonly

与正在更新的要素相匹配的可编辑项目对象的集合。

failures Object[]readonly

对象数组,其中包含特定于任何失败的编辑操作的信息。除了错误之外,还提供了 retry()cancel() 选项。

属性
error Error

只读错误消息。

featureFormViewModel FeatureFormViewModel

用于支持编辑器微件的 FeatureFormViewModel

featureTemplatesViewModel FeatureTemplatesViewModel

用于支持编辑器微件的 FeatureTemplatesViewModel

起始版本:GeoScene Maps SDK for JavaScript 4.24

该选项用于配置所创建或更新的几何的每个线段旁边显示的标注。

已知限制

当前仅在使用 SceneView 时支持草图标注。

layerInfos LayerInfo[]

单个图层的编辑配置数组。

如果您具有可编辑的要素图层,但不希望最终用户执行任何类型的编辑,则可通过将 enabled 属性设置为 false 来限制此操作。

示例
const editorViewModel = new EditorViewModel({
  layerInfos: [{
    view: view,
    layer: featureLayer, // pass in the feature layer,
    formTemplate:  { // autocastable to FormTemplate
      elements: [
        { // autocastable to FieldElement
          type: "field",
          fieldName: "fulladdr",
          label: "Full Address"
        }
      ]
    },
    enabled: true, // default is true, set to false to disable editing functionality
    addEnabled: true, // default is true, set to false to disable the ability to add a new feature
    updateEnabled: false // default is true, set to false to disable the ability to edit an existing feature
    deleteEnabled: false // default is true, set to false to disable the ability to delete features
  }]
});
sketchViewModel SketchViewModel

用于支持编辑器微件的 SketchViewModel

snappingOptions SnappingOptionsautocast
起始版本:GeoScene Maps SDK for JavaScript 4.19

用于草绘的 SnappingOptions。它支持 selffeature 捕捉。

state Stringreadonly

微件的状态。下表列出了可能的值。

描述
ready 满足依赖关系并具有有效的属性值。
disabled 依赖项丢失,无法提供有效的输入。
editing-new-feature 编辑者当前正在编辑(创建)新要素,并且仅适用于已弃用的 CreateWorkflow
editing-existing-feature 编辑者当前正在编辑现有要素。
awaiting-update-feature-candidate 单击更新后,应用程序等待用户输入并返回多个要素的时间段。指定要更新的要素。
awaiting-feature-creation-info 这是 create-features 工作流中的第一个步骤。CreationInfo 是必需项。
awaiting-feature-to-update 这是 update 工作流中的第一个步骤。Features 是必需项。
awaiting-feature-to-create 在执行属性/几何编辑之前,创建要素的等待期。
adding-attachment 如果当前 editing-existing-feature 并向现有要素添加附件。
editing-attachment 如果当前 editing-existing-feature 并向现有要素更新现有附件。
creating-features 编辑者当前正在创建多个要素。

可能值"ready"|"disabled"|"editing-new-feature"|"editing-existing-feature"|"awaiting-update-feature-candidate"|"awaiting-feature-creation-info"|"awaiting-feature-to-update"|"awaiting-feature-to-create"|"adding-attachment"|"editing-attachment"|"creating-features"

默认值:disabled
syncing Booleanreadonly

当为 true 时,至少有一个编辑请求正在处理中。

起始版本:GeoScene Maps SDK for JavaScript 4.24

该选项用于在创建或更新图形时配置游标旁边显示的工具提示。

已知限制

当前仅在使用 SceneView 时支持工具提示。

MapViewSceneView 的引用。此视图为 Editor 微件提供可编辑的图层。

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

添加一个或多个与对象的生命周期相关联的句柄。

更多详情
Accessor
Promise<void>

取消任何活动工作流。

更多详情
EditorViewModel
Promise<void>

如果存在活动的更新工作流,则此方法适用。

更多详情
EditorViewModel
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor

移除对象拥有的句柄组。

更多详情
Accessor
Promise<void>

通过显示开始创建要素的面板来启动 CreateFeaturesWorkflow

更多详情
EditorViewModel
Promise<void>

通过显示 FeatureTemplates 面板来启动 CreateFeaturesWorkflow

更多详情
EditorViewModel
Promise<void>

通过显示开始创建要素的面板来启动 CreateWorkflow

更多详情
EditorViewModel
Promise<void>

此方法将启动 CreateWorkflow,在其中等待选择要素。

更多详情
EditorViewModel
Promise<void>

通过显示 FeatureTemplates 面板来启动 CreateWorkflow

更多详情
EditorViewModel
Promise<void>

在要素几何和属性编辑面板上启动更新工作流。

更多详情
EditorViewModel
Promise<void>

使用当前所选要素启动 update 工作流。

更多详情
EditorViewModel
Promise<void>

启动编辑器工作流,在该工作流中等待选择多个要素。

更多详情
EditorViewModel

方法详细说明

addHandles(handleOrHandles, groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
参数
handleOrHandles WatchHandle|WatchHandle[]

对象销毁后,标记为要移除的句柄。

groupKey *
optional

标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。

cancelWorkflow(){Promise<void>}

取消任何活动工作流。

返回
类型 描述
Promise<void> 取消工作流后解析。
deleteFeatureFromWorkflow(){Promise<void>}

如果存在活动的更新工作流,则此方法适用。如果是这样,此方法将删除工作流要素。

返回
类型 描述
Promise<void> 删除活动 UpdateWorkflow 时解析。
另请参阅
hasHandles(groupKey){Boolean}inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

如果存在指定的句柄组,则返回 true。

参数
groupKey *
optional

组键。

返回
类型 描述
Boolean 如果存在指定的句柄组,则返回 true
示例
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
removeHandles(groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

移除对象拥有的句柄组。

参数
groupKey *
optional

要移除的组键或组键的数组或集合。

示例
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");
startCreateFeaturesWorkflowAtFeatureCreation(creationInfo){Promise<void>}
起始版本:GeoScene Maps SDK for JavaScript 4.23

通过显示开始创建要素的面板来启动 CreateFeaturesWorkflow。此方法采用包含要使用的图层和模板的 CreationInfo 对象。

参数
creationInfo CreationInfo

包含使用 Editor 微件创建新要素所需信息的对象。此对象提供用于创建新要素的要素模板和图层。

返回
类型 描述
Promise<void> CreateFeaturesWorkflow 启动时解析,并显示开始创建要素的面板。
startCreateFeaturesWorkflowAtFeatureTypeSelection(){Promise<void>}
起始版本:GeoScene Maps SDK for JavaScript 4.23

通过显示 FeatureTemplates 面板来启动 CreateFeaturesWorkflow

返回
类型 描述
Promise<void> CreateFeaturesWorkflow 启动时解析,并显示 FeatureTemplates 面板。
startCreateWorkflowAtFeatureCreation(creationInfo){Promise<void>}
已弃用从 4.23 版开始。请改为使用 startCreateFeaturesWorkflowAtFeatureCreation

通过显示开始创建要素的面板来启动 CreateWorkflow。此方法采用包含要使用的图层和模板的 CreationInfo 对象。

参数
creationInfo CreationInfo

包含使用 Editor 微件创建新要素所需信息的对象。此对象提供用于创建新要素的要素模板和图层。

返回
类型 描述
Promise<void> CreateFeaturesWorkflow 启动时解析,并显示开始创建要素的面板。
startCreateWorkflowAtFeatureEdit(feature){Promise<void>}
已弃用自 4.23 起。

此方法将启动 CreateWorkflow,在其中等待选择要素。

参数
feature Graphic

要编辑的要素。

返回
类型 描述
Promise<void> CreateWorkflow 启动时解析,显示开始创建要素的面板,并等待选择要素。
另请参阅
startCreateWorkflowAtFeatureTypeSelection(){Promise<void>}
已弃用从 4.23 版开始。请改为使用 startCreateFeaturesWorkflowAtFeatureTypeSelection

通过显示 FeatureTemplates 面板来启动 CreateWorkflow

返回
类型 描述
Promise<void> CreateWorkflow 启动时解析,并显示 FeatureTemplates 面板。
另请参阅
startUpdateWorkflowAtFeatureEdit(feature){Promise<void>}

在要素几何和属性编辑面板上启动更新工作流。

参数
feature Graphic

待更新的要素。

返回
类型 描述
Promise<void> UpdateWorkflow 启动要素几何和属性编辑面板后解析。
另请参阅
startUpdateWorkflowAtFeatureSelection(){Promise<void>}

使用当前所选要素启动 update 工作流。

返回
类型 描述
Promise<void> 在使用当前所选要素启动 UpdateWorkflow 后解析。
另请参阅
startUpdateWorkflowAtMultipleFeatureSelection(){Promise<void>}

启动编辑器工作流,在该工作流中等待选择多个要素。

返回
类型 描述
Promise<void> 在启动 UpdateWorkflow 时解析,因为它等待选择多个要素。
另请参阅

类型定义

EditableItem

地图中可用的可编辑项目。

属性

Read-only 与可编辑项目关联的要素图层。

supports String

Read-only 此项目支持的工作流类型。可以是 updatecreate-features

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息