@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
34 lines (31 loc) • 2.48 kB
TypeScript
import type Accessor from "../../../core/Accessor.js";
import type SnappingOptions from "../../../views/interactive/snapping/SnappingOptions.js";
import type { MapViewOrSceneView } from "../../../views/MapViewOrSceneView.js";
import type { SnappingOptionsProperties } from "../../../views/interactive/snapping/SnappingOptions.js";
export interface SnappingControlsViewModelProperties extends Partial<Pick<SnappingControlsViewModel, "view">> {
/** The [SnappingOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/SnappingOptions/) for sketching. It supports [self](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/SnappingOptions/#selfEnabled) and [feature](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/SnappingOptions/#featureEnabled) snapping. */
snappingOptions?: SnappingOptionsProperties;
}
export type SnappingControlsViewModelState = "ready" | "disabled";
/**
* Provides the logic for the [SnappingControls](https://developers.arcgis.com/javascript/latest/references/core/widgets/support/SnappingControls/) widget.
*
* @since 4.21
* @see [SnappingControls](https://developers.arcgis.com/javascript/latest/references/core/widgets/support/SnappingControls/)
* @see [SnappingOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/SnappingOptions/)
* @see [Sketch](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/)
*/
export default class SnappingControlsViewModel extends Accessor {
constructor(properties?: SnappingControlsViewModelProperties);
/** The [SnappingOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/SnappingOptions/) for sketching. It supports [self](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/SnappingOptions/#selfEnabled) and [feature](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/SnappingOptions/#featureEnabled) snapping. */
get snappingOptions(): SnappingOptions;
set snappingOptions(value: SnappingOptionsProperties);
/**
* The current state of the view model.
*
* @default "disabled"
*/
get state(): SnappingControlsViewModelState;
/** The view associated with the SnappingControls widget instance. */
accessor view: MapViewOrSceneView | null | undefined;
}