import "@arcgis/map-components/components/arcgis-basemap-layer-list";The Basemap Layer List component provides a way to display a list of Basemap layers and switch on/off their visibility. Base layers and reference layers are divided into separate sections. When editing is enabled, layers can be reordered by dragging and dropping between the lists and the title can be edited.
Demo
Properties
| Property | Attribute | Type |
|---|---|---|
autoDestroyDisabled | auto-destroy-disabled | boolean |
baseFilterPredicate | | (((item: ListItem) => void)) |
baseFilterText | base-filter-text | string |
baseItemsreadonly | | Collection<ListItem> |
baseListItemCreatedFunction | | (((event: ListItemCreatedHandlerEvent) => void)) |
basemapTitle | basemap-title | string |
catalogLayerListreadonly | | CatalogLayerList |
catalogOptions | | BasemapLayerListCatalogOptions |
closed | closed | boolean |
collapsedreflected | collapsed | boolean |
dragEnabled | drag-enabled | boolean |
editingTitle | editing-title | boolean |
filterPlaceholder | filter-placeholder | string |
headingLevel | heading-level | number |
hideBaseLayers | hide-base-layers | boolean |
hideFlow | hide-flow | boolean |
hideHeading | hide-heading | boolean |
hideReferenceLayers | hide-reference-layers | boolean |
hideStatusIndicators | hide-status-indicators | boolean |
icon | icon | string |
label | label | string |
minFilterItems | min-filter-items | number |
positiondeprecated | position | "bottom-leading" | "bottom-left" | "bottom-right" | "bottom-trailing" | "manual" | "top-leading" | "top-left" | "top-right" | "top-trailing" |
referenceElement | reference-element | HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string |
referenceFilterPredicate | | (((item: ListItem) => void)) |
referenceFilterText | reference-filter-text | string |
referenceItemsreadonly | | Collection<ListItem> |
referenceListItemCreatedFunction | | (((event: ListItemCreatedHandlerEvent) => void)) |
selectedItems | | Collection<ListItem> |
selectionMode | selection-mode | "multiple" | "none" | "single" | "single-persist" |
showCloseButton | show-close-button | boolean |
showCollapseButton | show-collapse-button | boolean |
showEditTitleButton | show-edit-title-button | boolean |
showErrors | show-errors | boolean |
showFilter | show-filter | boolean |
showTemporaryLayerIndicators | show-temporary-layer-indicators | boolean |
statereadonlyreflected | state | "disabled" | "loading" | "ready" |
view | | MapView | SceneView |
visibilityAppearance | visibility-appearance | "checkbox" | "default" |
autoDestroyDisabled
autoDestroyDisabled: booleanIf true, the component will not be destroyed automatically when it is disconnected from the document. This is useful when you want to move the component to a different place on the page, or temporarily hide it. If this is set, make sure to call the destroy method when you are done to prevent memory leaks.
- Attribute
- auto-destroy-disabled
- Default value
- false
baseFilterPredicate
baseFilterPredicate: (((item: ListItem) => void))Specifies a function to handle filtering base layer list items.
- Default value
- null
baseFilterText
baseFilterText: stringThe value of the filter input text string if visibleElements.filter is true.
- Attribute
- base-filter-text
- Default value
- ""
baseItems
baseItems: Collection<ListItem>A collection of ListItems representing the baseLayers.
baseListItemCreatedFunction
baseListItemCreatedFunction: (((event: ListItemCreatedHandlerEvent) => void))Specifies a function that accesses each ListItem representing a base layer.
catalogLayerList
catalogLayerList: CatalogLayerListThe CatalogLayerList that displays a catalog layer's dynamic group layer.
catalogOptions
catalogOptions: BasemapLayerListCatalogOptionsCatalogLayer specific properties.
- Default value
- null
closed
closed: booleanIndicates whether a component is closed. When true, the component will be hidden.
- Attribute
- closed
- Default value
- false
collapsed
collapsed: booleanIndicates whether the widget is collapsed.
- Attribute
- collapsed
- Default value
- false
dragEnabled
dragEnabled: booleanIndicates whether list items may be reordered within the list by dragging and dropping.
- Attribute
- drag-enabled
- Default value
- false
editingTitle
editingTitle: booleanIndicates whether the form to edit the basemap's title is currently visible.
- Attribute
- editing-title
- Default value
- false
filterPlaceholder
filterPlaceholder: stringPlaceholder text used in the filter input if visibleElements.filter is true.
- Attribute
- filter-placeholder
- Default value
- ""
headingLevel
headingLevel: numberIndicates the heading level to use for the widget title (i.e.
- Attribute
- heading-level
- Default value
- 2
hideReferenceLayers
hideReferenceLayers: boolean- Attribute
- hide-reference-layers
- Default value
- false
hideStatusIndicators
hideStatusIndicators: boolean- Attribute
- hide-status-indicators
- Default value
- false
icon
icon: stringIcon which represents the component. Typically used when the component is controlled by another component (e.g. by the Expand component).
- See also
- Attribute
- icon
- Default value
- "layers"
minFilterItems
minFilterItems: numberThe minimum number of list items required to display the visibleElements.filter input box.
- Attribute
- min-filter-items
- Default value
- 10
position
position: "bottom-leading" | "bottom-left" | "bottom-right" | "bottom-trailing" | "manual" | "top-leading" | "top-left" | "top-right" | "top-trailing"slot instead.- Attribute
- position
referenceElement
referenceElement: HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | stringBy assigning the id attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.
- Attribute
- reference-element
referenceFilterPredicate
referenceFilterPredicate: (((item: ListItem) => void))Specifies a function to handle filtering reference layer list items.
- Default value
- null
referenceFilterText
referenceFilterText: stringThe value of the filter input text string if visibleElements.filter is true.
- Attribute
- reference-filter-text
- Default value
- ""
referenceItems
referenceItems: Collection<ListItem>A collection of ListItems representing the referenceLayers.
referenceListItemCreatedFunction
referenceListItemCreatedFunction: (((event: ListItemCreatedHandlerEvent) => void))Specifies a function that accesses each ListItem representing a reference layer.
selectedItems
selectedItems: Collection<ListItem>A collection of selected ListItems representing basemap layers selected by the user.
selectionMode
selectionMode: "multiple" | "none" | "single" | "single-persist"Specifies the selection mode.
- Attribute
- selection-mode
- Default value
- "none"
showCollapseButton
showCollapseButton: boolean- Attribute
- show-collapse-button
- Default value
- false
showEditTitleButton
showEditTitleButton: boolean- Attribute
- show-edit-title-button
- Default value
- false
showTemporaryLayerIndicators
showTemporaryLayerIndicators: boolean- Attribute
- show-temporary-layer-indicators
- Default value
- false
state
state: "disabled" | "loading" | "ready"The current state of the component.
- Attribute
- state
- Default value
- "disabled"
view
The view associated with the component.
Note: The recommended approach is to fully migrate applications to use map and scene components and avoid using MapView and SceneView directly. However, if you are migrating a large application from widgets to components, you might prefer a more gradual transition. To support this use case, the SDK includes this
viewproperty which connects a component to a MapView or SceneView. Ultimately, once migration is complete, the Basemap Layer List component will be associated with a map or scene component rather than using theviewproperty.
visibilityAppearance
visibilityAppearance: "checkbox" | "default"Determines the icons used to indicate visibility.
- Attribute
- visibility-appearance
- Default value
- "default"
Methods
| Method | Signature |
|---|---|
componentOnReady | componentOnReady(): Promise<void> |
destroy | destroy(): Promise<void> |
componentOnReady
componentOnReady(): Promise<void>Create a promise that resolves once component is fully loaded.
Example
const arcgisBasemapLayerList = document.querySelector("arcgis-basemap-layer-list");
document.body.append(arcgisBasemapLayerList);
await arcgisBasemapLayerList.componentOnReady();
console.log("arcgis-basemap-layer-list is ready to go!");- Returns
- Promise<void>
Events
| Event | Type |
|---|---|
arcgisClose | CustomEvent<void> |
arcgisPropertyChange | CustomEvent<{ name: "state"; }> |
arcgisReady | CustomEvent<void> |
arcgisTriggerAction | CustomEvent<BasemapLayerListTriggerActionEvent> |
arcgisClose
arcgisClose: CustomEvent<void>Emitted when the component's close button is clicked.
arcgisPropertyChange
arcgisPropertyChange: CustomEvent<{ name: "state"; }>Emitted when the value of a property is changed. Use this to listen to changes to properties.
arcgisReady
arcgisReady: CustomEvent<void>Emitted when the component associated with a map or scene view is ready to be interacted with.
arcgisTriggerAction
arcgisTriggerAction: CustomEvent<BasemapLayerListTriggerActionEvent>Emitted when an action is triggered on the component.