@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
50 lines (48 loc) • 3.73 kB
TypeScript
import type SmartMappingSliderViewModel from "./SmartMappingSliderViewModel.js";
import type { SupportedBreaks, SmartMappingSupportedStop } from "./types.js";
import type { SmartMappingSliderViewModelProperties } from "./SmartMappingSliderViewModel.js";
export interface SmartMappingPrimaryHandleSliderViewModelProperties<StopType extends SmartMappingSupportedStop = SmartMappingSupportedStop> extends SmartMappingSliderViewModelProperties, Partial<Pick<SmartMappingPrimaryHandleSliderViewModel<StopType>, "handlesSyncedToPrimary" | "primaryHandleEnabled">> {}
/**
* Shared properties for sliders that have a [primaryHandle](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#primaryHandleEnabled) option.
*
* @since 4.18
* @see [SmartMappingSliderBase](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingSliderBase/)
* @see [Programming patterns: Widget viewModel pattern](https://developers.arcgis.com/javascript/latest/programming-patterns/#widget-viewmodel-pattern)
*/
export default class SmartMappingPrimaryHandleSliderViewModel<StopType extends SmartMappingSupportedStop = SmartMappingSupportedStop> extends SmartMappingSliderViewModel<StopType, SupportedBreaks> {
constructor(properties?: SmartMappingPrimaryHandleSliderViewModelProperties);
/**
* Only applicable when three thumbs (i.e. handles) are set on the
* slider (i.e. when [primaryHandleEnabled](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#primaryHandleEnabled) is `true`). This property
* indicates whether the position of the outside handles are synced with the middle, or primary,
* handle. When enabled, if the primary handle is moved then the outside handle positions are updated
* while maintaining a fixed distance from the primary handle.
*
* Only applicable when [primaryHandleEnabled](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#primaryHandleEnabled) is `true`.
*
* @default true
* @see [primaryHandleEnabled](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#primaryHandleEnabled)
* @example
* // enables the primary handles and syncs it with the others
* slider.viewModel.primaryHandleEnabled = true;
* slider.viewModel.handlesSyncedToPrimary = true;
*/
accessor handlesSyncedToPrimary: boolean;
/**
* When `true`, the slider will render a third handle between the
* two handles already provided by default. This is the primary handle.
* Three or five [values](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#values) must be defined for the primary handle to render.
* The primary handle represents the middle stop.
*
* When [handlesSyncedToPrimary](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#handlesSyncedToPrimary) is `true`, then
* this handle will control the position of the others when moved.
*
* @default false
* @see [handlesSyncedToPrimary](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#handlesSyncedToPrimary)
* @example
* // enables the primary handles and syncs it with the others
* slider.viewModel.primaryHandleEnabled = true;
* slider.viewModel.handlesSyncedToPrimary = true;
*/
accessor primaryHandleEnabled: boolean;
}