Skip to content

Layer List

ESM:
Use dark colors for code blocksCopy
1
import "@arcgis/map-components/components/arcgis-layer-list";
CDN:
No specific import is needed for this component.
Since:ArcGIS Maps SDK for JavaScript 4.28

The Layer List component provides a way to display a list of layers, and switch on/off their visibility.

Demo

Properties

PropertyAttributeType
autoDestroyDisabledauto-destroy-disabledboolean
CatalogLayerList
catalogOptionsLayerListCatalogOptions
closedclosedboolean
collapsed
reflected
collapsedboolean
dragEnableddrag-enabledboolean
filterPlaceholderfilter-placeholderstring
filterPredicate(((item: ListItem) => void))
filterTextfilter-textstring
headingLevelheading-levelnumber
hideCatalogLayerListhide-catalog-layer-listboolean
hideFlowhide-flowboolean
hideStatusIndicatorshide-status-indicatorsboolean
iconiconstring
knowledgeGraphOptionsLayerListKnowledgeGraphOptions
labellabelstring
listItemCreatedFunction(((event: LayerListListItemCreatedHandlerEvent) => void))
minDragEnabledItemsmin-drag-enabled-itemsnumber
minFilterItemsmin-filter-itemsnumber
openedLayers
readonly
Collection<Layer>
Collection<ListItem>
position
deprecated
position"bottom-leading" | "bottom-left" | "bottom-right" | "bottom-trailing" | "manual" | "top-leading" | "top-left" | "top-right" | "top-trailing"
referenceElementreference-elementHTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string
selectedItemsCollection<ListItem>
selectionModeselection-mode"multiple" | "none" | "single" | "single-persist"
showCloseButtonshow-close-buttonboolean
showCollapseButtonshow-collapse-buttonboolean
showErrorsshow-errorsboolean
showFiltershow-filterboolean
showHeadingshow-headingboolean
showTemporaryLayerIndicatorsshow-temporary-layer-indicatorsboolean
state
readonlyreflected
state"disabled" | "loading" | "ready"
tableList
readonly
TableList
viewMapView | SceneView
visibilityAppearancevisibility-appearance"checkbox" | "default"

autoDestroyDisabled

Property
autoDestroyDisabled: boolean

If 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

catalogLayerList

readonlyProperty
catalogLayerList: CatalogLayerList

The CatalogLayerList that displays a catalog layer's dynamic group layer.

catalogOptions

Property
catalogOptions: LayerListCatalogOptions

CatalogLayer specific properties.

Default value
null

closed

Property
closed: boolean
Since:ArcGIS Maps SDK for JavaScript 4.33Layer List since 4.28, closed added at 4.33.

Indicates whether a component is closed. When true, the component will be hidden.

Attribute
closed
Default value
false

collapsed

reflected
Property
collapsed: boolean

Indicates whether the widget is collapsed.

Attribute
collapsed
Default value
false

dragEnabled

Property
dragEnabled: boolean

Indicates whether list items may be reordered within the list by dragging and dropping.

Attribute
drag-enabled
Default value
false

filterPlaceholder

Property
filterPlaceholder: string

Placeholder text used in the filter input if visibleElements.filter is true.

Attribute
filter-placeholder
Default value
""

filterPredicate

Property
filterPredicate: (((item: ListItem) => void))

Specifies a function to handle filtering list items.

Default value
null

filterText

Property
filterText: string

The value of the filter input if visibleElements.filter is true.

Attribute
filter-text
Default value
""

headingLevel

Property
headingLevel: number

Indicates the heading level to use for the heading of the widget.

Attribute
heading-level
Default value
2

hideCatalogLayerList

Property
hideCatalogLayerList: boolean
Attribute
hide-catalog-layer-list
Default value
false

hideFlow

Property
hideFlow: boolean
Attribute
hide-flow
Default value
false

hideStatusIndicators

Property
hideStatusIndicators: boolean
Attribute
hide-status-indicators
Default value
false

icon

Property
icon: string

Icon 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"

knowledgeGraphOptions

Property
knowledgeGraphOptions: LayerListKnowledgeGraphOptions

KnowledgeGraphLayer specific properties.

Default value
null

label

Property
label: string

The widget's default label.

Read more...

Attribute
label

listItemCreatedFunction

Property
listItemCreatedFunction: (((event: LayerListListItemCreatedHandlerEvent) => void))

A function that executes each time a ListItem is created.

Default value
null

minDragEnabledItems

Property
minDragEnabledItems: number

The minimum number of list items required to enable drag and drop reordering with dragEnabled.

Attribute
min-drag-enabled-items
Default value
2

minFilterItems

Property
minFilterItems: number

The minimum number of list items required to display the visibleElements.filter input box.

Attribute
min-filter-items
Default value
10

openedLayers

readonlyProperty
openedLayers: Collection<Layer>

A collection of Layers that are opened in a catalogLayerList or tableList flow item.

Read more...

Default value
[]

operationalItems

readonlyProperty
operationalItems: Collection<ListItem>

A collection of ListItems representing operational layers.

position

deprecatedProperty
position: "bottom-leading" | "bottom-left" | "bottom-right" | "bottom-trailing" | "manual" | "top-leading" | "top-left" | "top-right" | "top-trailing"
Deprecatedsince 4.34, use slot instead.
Attribute
position

referenceElement

Property

By 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.

See also
Attribute
reference-element

selectedItems

Property
selectedItems: Collection<ListItem>

A collection of selected ListItems representing operational layers selected by the user.

Read more...

selectionMode

Property
selectionMode: "multiple" | "none" | "single" | "single-persist"

Specifies the selection mode.

Attribute
selection-mode
Default value
"none"

showCloseButton

Property
showCloseButton: boolean
Attribute
show-close-button
Default value
false

showCollapseButton

Property
showCollapseButton: boolean
Attribute
show-collapse-button
Default value
false

showErrors

Property
showErrors: boolean
Attribute
show-errors
Default value
false

showFilter

Property
showFilter: boolean
Attribute
show-filter
Default value
false

showHeading

Property
showHeading: boolean
Attribute
show-heading
Default value
false

showTemporaryLayerIndicators

Property
showTemporaryLayerIndicators: boolean
Attribute
show-temporary-layer-indicators
Default value
false

state

readonlyreflected
Property
state: "disabled" | "loading" | "ready"

The current state of the component.

Attribute
state
Default value
"disabled"

tableList

readonlyProperty
tableList: TableList

The TableList that displays the tables associated with a KnowledgeGraphLayer.

view

Property

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 view property which connects a component to a MapView or SceneView. Ultimately, once migration is complete, the Layer List component will be associated with a map or scene component rather than using the view property.

Default value
null

visibilityAppearance

Property
visibilityAppearance: "checkbox" | "default"

Determines the icons used to indicate visibility.

Attribute
visibility-appearance
Default value
"default"

Methods

MethodSignature
componentOnReadycomponentOnReady(): Promise<void>
destroydestroy(): Promise<void>
triggerActiontriggerAction(action: __esri.ActionButton | __esri.ActionToggle, item: __esri.ListItem): Promise<void>

componentOnReady

Method
componentOnReady(): Promise<void>

Create a promise that resolves once component is fully loaded.

Example
Use dark colors for code blocksCopy
1
2
3
4
const arcgisLayerList = document.querySelector("arcgis-layer-list");
document.body.append(arcgisLayerList);
await arcgisLayerList.componentOnReady();
console.log("arcgis-layer-list is ready to go!");
Returns
Promise<void>

destroy

Method
destroy(): Promise<void>

Permanently destroy the component.

Returns
Promise<void>

triggerAction

Method
triggerAction(action: __esri.ActionButton | __esri.ActionToggle, item: __esri.ListItem): Promise<void>
Parameters
ParameterTypeOptional?
actionActionButton | ActionToggle
itemListItem
Returns
Promise<void>

Events

EventType
arcgisCloseCustomEvent<void>
arcgisPropertyChangeCustomEvent<{ name: "state"; }>
arcgisReadyCustomEvent<void>
arcgisTriggerActionCustomEvent<LayerListTriggerActionEvent>

arcgisClose

Event
arcgisClose: CustomEvent<void>
Since:ArcGIS Maps SDK for JavaScript 4.33Layer List since 4.28, arcgisClose added at 4.33.

Emitted when the component's close button is clicked.

bubbles
composed
cancelable

arcgisPropertyChange

Event
arcgisPropertyChange: CustomEvent<{ name: "state"; }>

Emitted when the value of a property is changed. Use this to listen to changes to properties.

bubbles
composed
cancelable

arcgisReady

Event
arcgisReady: CustomEvent<void>

Emitted when the component associated with a map or scene view is ready to be interacted with.

bubbles
composed
cancelable

arcgisTriggerAction

Event
arcgisTriggerAction: CustomEvent<LayerListTriggerActionEvent>

Emitted when an action is triggered on the component.

bubbles
composed
cancelable

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