require(["esri/widgets/CatalogLayerList/CatalogLayerListViewModel"], (CatalogLayerListVM) => { /* code goes here */ });
import CatalogLayerListVM from "@arcgis/core/widgets/CatalogLayerList/CatalogLayerListViewModel.js";
esri/widgets/CatalogLayerList/CatalogLayerListViewModel
Provides the logic for the CatalogLayerList widget.
- See also
Constructors
-
Parameterproperties Objectoptional
See the properties for a list of all the properties that may be passed into the constructor.
Property Overview
Name | Type | Summary | Class |
---|---|---|---|
The collection of ListItems representing the catalogLayer's dynamicGroupLayer. | CatalogLayerListViewModel | ||
The CatalogLayer to display in the widget. | CatalogLayerListViewModel | ||
Whether to provide an indication if a layer is being published in the CatalogLayerList. | CatalogLayerListViewModel | ||
The name of the class. | Accessor | ||
A function that executes each time a ListItem is created. | CatalogLayerListViewModel | ||
The view model's state. | CatalogLayerListViewModel | ||
The view from which the widget will operate. | CatalogLayerListViewModel |
Property Details
-
catalogItems
catalogItems Collection<ListItem>readonly
-
The collection of ListItems representing the catalogLayer's dynamicGroupLayer.
- See also
-
catalogLayer
catalogLayer CatalogLayer |null |undefined
-
The CatalogLayer to display in the widget.
- Default Value:null
ExamplecatalogLayerList.catalogLayer = new CatalogLayer({ url });
-
checkPublishStatusEnabled
checkPublishStatusEnabled Boolean
-
Whether to provide an indication if a layer is being published in the CatalogLayerList. When a layer is publishing, a rotating square will appear to the right of the list item title. The list item publishing property will be
false
ifcheckPublishStatusEnabled
isfalse
.- Default Value:false
-
listItemCreatedFunction
listItemCreatedFunction ListItemCreatedHandler |null |undefined
-
A function that executes each time a ListItem is created. Use this function to add actions and panels to list items, and to override the default settings of a list item. Actions can be added to list items using the actionsSections property of the ListItem.
- Default Value:null
Example// Create a new CatalogLayerListViewModel with a listItemCreatedFunction // that adds an "add-layer" action to each catalog layer list item const catalogLayerListViewModel = new CatalogLayerListViewModel({ catalogLayer, listItemCreatedFunction: (event) => { const { item } = event; const { layer } = item; if (isLayerFromCatalog(layer)) { item.actionsSections = [ [ { title: "Add layer to map", icon: "add-layer", id: "add-layer" } ] ]; } }, view }); // Listen for the trigger-action event on the CatalogLayerListViewModel // and add layers from the catalog to the map when the "add-layer" action is triggered. // To correctly add a layer to the map, you must create a footprint from the layer // and then create a new layer from the footprint. catalogLayerListViewModel.on("trigger-action", async (event) => { const { id } = event.action; const { layer } = event.item; if (id === "add-layer") { const parentCatalogLayer = catalogUtils.getCatalogLayerForLayer(layer); const footprint = parentCatalogLayer.createFootprintFromLayer(layer); const layerFromFootprint = await parentCatalogLayer.createLayerFromFootprint(footprint); map.add(layerFromFootprint); } });
-
state
state Stringreadonly
-
The view model's state.
Possible Values:"loading" |"ready" |"disabled"
- Default Value:"disabled"
-
The view from which the widget will operate.
- Default Value:null
Method Overview
Name | Return Type | Summary | Class |
---|---|---|---|
Adds one or more handles which are to be tied to the lifecycle of the object. | Accessor | ||
Returns true if a named group of handles exist. | Accessor | ||
Removes a group of handles owned by the object. | Accessor | ||
Triggers the trigger-action event and executes the given action or action toggle. | CatalogLayerListViewModel |
Method Details
-
Inherited from Accessor
-
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();
ParametershandleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.
groupKey *optionalKey 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
InheritedMethodhasHandles(groupKey){Boolean}
Inherited from Accessor -
Returns true if a named group of handles exist.
ParametergroupKey *optionalA group key.
ReturnsType 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"); }
-
Inherited from Accessor
-
Removes a group of handles owned by the object.
ParametergroupKey *optionalA group key or an array or collection of group keys to remove.
Exampleobj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
Triggers the trigger-action event and executes the given action or action toggle.
ParametersThe action to execute.
An item associated with the action.
Type Definitions
-
Function definition for the listItemCreatedFunction property. See the example snippet in the listItemCreatedFunction documentation for more details.
Parametersevent ObjectAn object containing a list item created by the LayerList.
Specificationitem ListItemA list item created by the CatalogLayerList. You can modify the properties of this item to customize the text, actions, panel content, and visibility of the list item. See the documentation for the listItemCreatedFunction for more details.
Event Overview
Name | Type | Summary | Class |
---|---|---|---|
|
{action: ActionButton|ActionToggle,item: ListItem} |
Fires after the user clicks on an action or action toggle inside the CatalogLayerListViewModel. |
CatalogLayerListViewModel |
Event Details
-
Fires after the user clicks on an action or action toggle inside the CatalogLayerListViewModel. This event may be used to define a custom function to execute when particular actions are clicked.
- Properties
-
action ActionButton|ActionToggle
The action clicked by the user.
item ListItemThe ListItem associated with the action.