Skip to content

As the JavaScript Maps SDK evolves and transitions from widgets to web components, we are changing how view models, the underlying business logic of the widgets, will be made available in the SDK.

This guide is intended for developers who directly import and use widget view models to build custom workflows outside of the widget or component UI.

For the most commonly used view models, the underlying business logic from the widget/component will still be made available to you in other ways. As the new functionality becomes available, view models will be deprecated, and we will follow semantic versioning; no breaking changes will occur before version 6.0 (Q1 2027). The table below outlines the roadmap for view models.

For more information on the reasoning behind this decision, see Transition plan: widgets to components and the blog Evolution of view models and building custom workflows with the JavaScript Maps SDK.

Business logic remains available in a new location

View modelReplacement module
AreaMeasurement2DViewModelAreaMeasurementAnalysis
AreaMeasurement3DViewModelAreaMeasurementAnalysis
AttributionViewModelMap attributionItems, Scene attributionItems, Link Chart attributionItems, View.attributionItems
BasemapGalleryViewModelIn product plan
BatchAttributeFormViewModelIn product plan
CoordinateConversionViewModelIn product plan
DaylightViewModelSceneView.environment.lighting
DirectionsViewModelIn product plan
DirectLineMeasurement3DViewModelDirectLineMeasurementAnalysis
DistanceMeasurement2DViewModelDistanceMeasurementAnalysis
EditorViewModelIn product plan
ElevationProfileViewModelElevationProfileAnalysis
FeaturesViewModelFeatures
FeatureViewModelFeature
FeatureTemplatesViewModelIn product plan
FloorFilterViewModelIn product plan
GridControlsViewModelIn product plan
LayerListViewModelIn product plan
LegendViewModelIn product plan
LineOfSightViewModelLineOfSightAnalysis
PopupViewModelFeatures
PrintViewModelIn product plan
SearchViewModelIn product plan
ShadowCastViewModelShadowCastAnalysis
SketchViewModelIn product plan
SliceViewModelSliceAnalysis
SwipeViewModelIn product plan
UtilityNetworkAssociationsViewModelUtilityNetworkAssociations
UtilityNetworkTraceAnalysisViewModelUtilityNetworkTraceAnalysis
VersionManagementViewModelVersionManager
WeatherViewModelSceneView.environment

View model will be publicly removed

The following view models are deprecated and are planned for removal from the SDK as early as version 6.0 (Q1 2027). These view models do not expose unique business logic beyond what the component already provides, and will not have a standalone replacement API.

View modelComponentNotes
BasemapLayerListViewModelBasemap Layer List
BasemapToggleViewModelBasemap Toggle
BinaryColorSizeSliderViewModelSlider Binary Color Size
BookmarksViewModelBookmarks
BuildingExplorerViewModelBuilding Explorer
CatalogLayerListViewModelCatalog Layer List
ClassedColorSliderViewModelSlider Classed Color
ClassedSizeSliderViewModelSlider Classed Size
ColorSizeSliderViewModelSlider Color Size
ColorSliderViewModelSlider Color
CompassViewModelCompass
DirectionalPadViewModelDirectional Pad
ExpandViewModelExpand
FeatureFormViewModelFeature Form
FeatureTableViewModelFeature Table
FullscreenViewModelFullscreenThe JavaScript Fullscreen API can also be used directly.
HeatmapSliderViewModelSlider Heatmap
HistogramRangeSliderViewModelIn product plan
HistogramViewModelHistogramThis component resides in the common-components package.
HomeViewModelHome
LinkChartLayoutSwitcherViewModelLink Chart Layout Switcher
LocateViewModelLocate
NavigationToggleViewModelNavigation Toggle
OpacitySliderViewModelSlider Opacity
OrientedImageryViewerViewModelOriented Imagery Viewer
ScaleBarViewModelScale Bar
ScaleRangeSliderViewModelScale Range Slider
SizeSliderViewModelSlider Size
SliderViewModelSliderThis component resides in the common-components package.
SmartMappingPrimaryHandleSliderViewModelNot Planned
SmartMappingSliderViewModelNot Planned
SnappingControlsViewModelSnapping Controls
TableListViewModelTable List
TimeSliderViewModelTime Slider
TimeZoneLabelViewModelTime Zone Label
TrackViewModelTrack
UtilityNetworkTraceViewModelUtility Network Trace
UtilityNetworkValidateTopologyViewModelUtility Network Validate Topology
VideoPlayerViewModelVideo Player
ZoomViewModelZoomTo access the canZoomIn, canZoomOut, zoomIn(), and zoomOut() functionality, use the corresponding properties and methods on the Map component, Scene component, MapView, or SceneView directly.

We’d love your feedback

If you have questions, concerns, or workflows that depend on view models, let us know in the ArcGIS Maps SDK for JavaScript community.