ScaleRangeSliderViewModel

AMD: require(["esri/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel"], (ScaleRangeSliderVM) => { /* code goes here */ });
ESM: import ScaleRangeSliderVM from "@arcgis/core/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js";
Class: esri/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel
Inheritance: ScaleRangeSliderViewModel Accessor
Since: ArcGIS Maps SDK for JavaScript 4.13

Provides the logic for the ScaleRangeSlider widget.

See also
Example
const view = new MapView({
  container: "viewDiv",
  map: map
});

const scaleRangeSlider = new ScaleRangeSlider({
  viewModel: {  // autocasts as new ScaleRangeSliderViewModel()
    view: view
  }
}, "scaleRangeSliderDiv");

Constructors

new ScaleRangeSliderViewModel(properties)
Parameter
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
Show inherited properties Hide inherited properties
Name Type Summary Class
String

The name of the class.

more details
Accessor
Layer

When provided, the initial minScale and maxScale values will match the layer's.

more details
ScaleRangeSliderViewModel
Number

The maximum scale of the active scale range.

more details
ScaleRangeSliderViewModel
Number

The lowest possible maximum scale value from the slider.

more details
ScaleRangeSliderViewModel
Number

The minimum scale of the active scale range.

more details
ScaleRangeSliderViewModel
Number

The highest possible minimum scale value from the slider.

more details
ScaleRangeSliderViewModel
ScaleRanges

The valid scale ranges available based on the slider position.

more details
ScaleRangeSliderViewModel
SliderViewModel

The SliderViewModel for supporting the scale range slider widget.

more details
ScaleRangeSliderViewModel
String

The current state of the widget.

more details
ScaleRangeSliderViewModel
MapView|SceneView

A reference to the MapView or SceneView.

more details
ScaleRangeSliderViewModel

Property Details

declaredClass Stringreadonly inherited

The name of the class. The declared class name is formatted as esri.folder.className.

layer Layer

When provided, the initial minScale and maxScale values will match the layer's.

When a tiled layer is used, the slider will be restricted from moving the slider thumbs past the lods of the layer's tiling scheme. Since version 4.28, when a MapImageLayer is used, the slider will be restricted from moving past the min/max scale defined on the map service. The unavailable scale range will be designated with a dashed line.

maxScale Number

The maximum scale of the active scale range. When the maxScale reaches the maxScaleLimit, the maxScale value becomes 0 and there is no maximum scale set.

maxScaleLimit Number

The lowest possible maximum scale value from the slider.

minScale Number

The minimum scale of the active scale range. When the minScale reaches the minScaleLimit, the minScale value becomes 0 and there is no minimum scale set.

minScaleLimit Number

The highest possible minimum scale value from the slider.

scaleRanges ScaleRangesreadonly

The valid scale ranges available based on the slider position.

sliderViewModel SliderViewModel

The SliderViewModel for supporting the scale range slider widget.

state Stringreadonly

The current state of the widget.

Possible Values:"disabled"|"ready"

Default Value:disabled

A reference to the MapView or SceneView. Set this to link the widget to a specific view.

Method Overview

Show inherited methods Hide inherited methods
Name Return Type Summary Class

Adds one or more handles which are to be tied to the lifecycle of the object.

more details
Accessor
Boolean

Returns true if a named group of handles exist.

more details
Accessor
Number

Utility method for converting scale-to-slider values.

more details
ScaleRangeSliderViewModel
Number

Utility method for converting slider-to-scale values.

more details
ScaleRangeSliderViewModel

Removes a group of handles owned by the object.

more details
Accessor

Method Details

addHandles(handleOrHandles, groupKey)inherited
Since: ArcGIS Maps SDK for JavaScript 4.25

Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.

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

this.addHandles(handle);

// Destroy the object
this.destroy();
Parameters
handleOrHandles WatchHandle|WatchHandle[]

Handles marked for removal once the object is destroyed.

groupKey *
optional

Key identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.

hasHandles(groupKey){Boolean}inherited
Since: ArcGIS Maps SDK for JavaScript 4.25

Returns true if a named group of handles exist.

Parameter
groupKey *
optional

A group key.

Returns
Type Description
Boolean Returns true if a named group of handles exist.
Example
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
mapScaleToSlider(scale){Number}

Utility method for converting scale-to-slider values.

Parameter
scale Number

The map scale to be converted.

Returns
Type Description
Number The value of the slider.
mapSliderToScale(value){Number}

Utility method for converting slider-to-scale values.

Parameter
value Number

The value of the slider.

Returns
Type Description
Number The map scale that corresponds to the value of the slider.
removeHandles(groupKey)inherited
Since: ArcGIS Maps SDK for JavaScript 4.25

Removes a group of handles owned by the object.

Parameter
groupKey *
optional

A group key or an array or collection of group keys to remove.

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

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.