UNPKG

@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
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; }