import type FormTemplate from "../../../form/FormTemplate.js"; import type EditingCapabilities from "../../../layers/support/EditingCapabilities.js"; import type { EditingCapabilitiesProperties } from "../../../layers/support/EditingCapabilities.js"; import type { AttachmentCapabilities, CreateCapabilities, DeleteCapabilities, RelationshipCapabilities, UpdateCapabilities } from "../../../layers/support/types.js"; import type { LayerInfo } from "../types.js"; /** @since 5.0 */ export interface EditorEditingCapabilitiesProperties extends EditingCapabilitiesProperties, Partial> {} /** * The current editing capabilities for the provided layer and read by the [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/). This takes into * account what is set on the [EditorItem.layerInfo](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/support/EditorItem/#layerInfo) * * @since 5.0 */ export default class EditorEditingCapabilities extends EditingCapabilities { constructor(properties: EditorEditingCapabilitiesProperties); /** * Specific permissions for attachment operations. It takes into account the [Editor's layerInfo](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/types/#LayerInfo) settings. * * @since 5.0 */ get attachments(): AttachmentCapabilities; /** * Specific permissions for create operations. It takes into account the [Editor's layerInfo](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/types/#LayerInfo) settings. * * @since 5.0 */ get create(): CreateCapabilities; /** * The default editing capabilities for the provided layer. This does not take into account what may be set on the [EditorItem.layerInfo](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/support/EditorItem/#layerInfo) settings. * * @since 5.0 */ get defaults(): EditingCapabilities; /** * Specific permissions for delete operations. It takes into account the [Editor's layerInfo](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/types/#LayerInfo) settings. * * @since 5.0 */ get delete(): DeleteCapabilities; /** * The primary form template in use. It takes into account the Editor's [layerInfos](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/types/#LayerInfo) and whether a form template is set on a `layerInfo` within it. If so, the form template set on a [LayerInfo](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/types/#LayerInfo) within the Editor takes precedence over a form template set directly on a [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/) or [SubtypeSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/). A form template set within the [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/) widget's [layerInfos](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/types/#LayerInfo) takes priority over a form template set directly on a [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/) or [SubtypeSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/). * * @since 5.0 */ get formTemplate(): FormTemplate | null | undefined; /** * The layer's associated [LayerInfo](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/types/#LayerInfo) . * * @since 5.0 */ accessor layerInfo: LayerInfo | null | undefined; /** * Indicates if the layer contains at least one relationship in addition to child [Workflow](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/Workflow/) permissions. It takes into account what is set on the [EditorItem.layerInfo](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/support/EditorItem/#layerInfo). It does not take into account whether a parent or related layer has the ability to edit. A collection of all [EditorItems](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/support/EditorItem/) that represent potential related layers should be referenced if accessing editing permissions per related layer. * * @since 5.0 */ get relationship(): RelationshipCapabilities; /** * Specific permissions for update operations. It takes into account the [Editor's layerInfo](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/types/#LayerInfo) settings. * * @since 5.0 */ get update(): UpdateCapabilities; }