require(["esri/widgets/FeatureTable/FeatureTableViewModel"], (FeatureTableVM) => { /* code goes here */ });
import FeatureTableVM from "@arcgis/core/widgets/FeatureTable/FeatureTableViewModel.js";
esri/widgets/FeatureTable/FeatureTableViewModel
Provides the logic for the FeatureTable widget, which allows users to view content from feature attributes in a tabular format.
- See also
const featureTable = new FeatureTable({
viewModel: { // autocasts as new FeatureTableViewModel
layer: featureLayer,
tableTemplate: tableTemplate //autocasts as new TableTemplate
}
});
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 |
---|---|---|---|
Configuration for the ActionColumn. | FeatureTableViewModel | ||
A read-only property indicating the type of filter used by the table. | FeatureTableViewModel | ||
Use this read-only property if needing to query features while retaining a column's sort order. | FeatureTableViewModel | ||
Indicates whether to display the | FeatureTableViewModel | ||
Indicates whether the table should automatically refresh when the underlying data changes. | FeatureTableViewModel | ||
A read-only collection of column, field, group, action, attachment, and relationship columns that are displayed within the table. | FeatureTableViewModel | ||
The name of the class. | Accessor | ||
Indicates whether editing is enabled on the data within the feature table. | FeatureTableViewModel | ||
Indicates whether the table only displays rows that are considered selected. | FeatureTableViewModel | ||
Set this property to filter the features displayed in the table. | FeatureTableViewModel | ||
A collection of string field.names that are to remain hidden within the table. | FeatureTableViewModel | ||
Indicates whether to highlight the associated feature when a row is selected. | FeatureTableViewModel | ||
This property accepts and returns a collection of feature object IDs. | FeatureTableViewModel | ||
The associated CatalogFootprintLayer, CSVLayer, FeatureLayer, GeoJSONLayer, ImageryLayer, KnowledgeGraphSublayer, SceneLayer, or WFSLayer containing the fields and attributes to display within the widget. | FeatureTableViewModel | ||
The LayerView displaying data for the table's associated layer. | FeatureTableViewModel | ||
Controls whether the table allows multiple selected rows. | FeatureTableViewModel | ||
Indicates whether sorting multiple columns is supported within the table. | FeatureTableViewModel | ||
This property accepts and returns a collection of feature object IDs. | FeatureTableViewModel | ||
Indicates whether to display any related records associated with features within the table. | FeatureTableViewModel | ||
Indicates whether to fetch geometries for the corresponding features displayed in the table. | FeatureTableViewModel | ||
Indicates whether geometries fetched for the corresponding features contain M values, if supported. | FeatureTableViewModel | ||
Indicates whether geometries fetched for the corresponding features contain Z values, if supported. | FeatureTableViewModel | ||
A collection of feature object IDs. | FeatureTableViewModel | ||
Total number of records currently displayed in the table. | FeatureTableViewModel | ||
The state of the widget. | FeatureTableViewModel | ||
The associated template used for the feature table. | FeatureTableViewModel | ||
The TimeExtent in which to filter and display data within the FeatureTable widget. | FeatureTableViewModel | ||
Dates and times displayed in the widget will be in terms of this time zone. | FeatureTableViewModel | ||
FeatureTableViewModel |
Property Details
-
actionColumnConfig
actionColumnConfig ActionColumnConfig
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, actionColumnConfig added at 4.30. -
Configuration for the ActionColumn. This property allows for customizing the action column's appearance and behavior. The action column is a column that contains interactive buttons for each row. These buttons can be used to perform actions such as editing, deleting, or viewing additional information about a feature. This column is displayed as the last column in the table and is only displayed if this property is set.
- See also
Example// The following snippet demonstrates how to configure an action column that adds a button // to each row which allows the user to zoom to the associated row's feature within the view. featureTable.viewModel.actionColumnConfig = { label: "Go to feature", icon: "zoom-to-object", callback: (params) => { view.goTo(params.feature); } }
-
activeFilters
activeFilters Collection<(GeometryFilter|SelectionFilter)>readonly
Since: ArcGIS Maps SDK for JavaScript 4.23FeatureTableViewModel since 4.15, activeFilters added at 4.23. -
A read-only property indicating the type of filter used by the table. It returns either filters by geometry or selections using a row's object ID.
- See also
-
activeSortOrders
activeSortOrders ColumnSortOrder[]readonly
Since: ArcGIS Maps SDK for JavaScript 4.25FeatureTableViewModel since 4.15, activeSortOrders added at 4.25. -
Use this read-only property if needing to query features while retaining a column's sort order. It returns an array of ColumnSortOrder which contains a column's name and its sort direction. The sort priority is honored in the returned ColumnSortOrder if multiSortEnabled is
true
with a set initialSortPriority.- Default Value:[]
-
attachmentsEnabled
attachmentsEnabled Boolean
-
Indicates whether to display the
Attachments
field in the table. It displays the count of attachments per feature and is only applicable if the feature layer supports attachments.- Default Value:false
- See also
-
autoRefreshEnabled
autoRefreshEnabled Boolean
Since: ArcGIS Maps SDK for JavaScript 4.23FeatureTableViewModel since 4.15, autoRefreshEnabled added at 4.23. -
Indicates whether the table should automatically refresh when the underlying data changes. This property is useful when the table is displaying data from a feature layer that is being updated by other clients.
- Default Value:true
-
columns
columns Collection<(Column|FieldColumn|GroupColumn|ActionColumn|AttachmentsColumn|RelationshipColumn)>readonly
-
A read-only collection of column, field, group, action, attachment, and relationship columns that are displayed within the table.
By default fields such as
CreationDate
,Creator
,EditDate
,Editor
, andGlobalID
do not show. If these fields are needed, set them via TableTemplate.columnTemplates. In this scenario, it is also necessary to set the column template'svisible
property totrue
.- See also
-
editingEnabled
editingEnabled Boolean
Since: ArcGIS Maps SDK for JavaScript 4.16FeatureTableViewModel since 4.15, editingEnabled added at 4.16. -
Indicates whether editing is enabled on the data within the feature table. Double-clicking in a cell will enable editing for that value.
Editing permissions can be separated into the following levels of priority:
- FeatureLayer.editingEnabled - This is derived from the layer's FeatureLayer property. This must always be
true
for editing to be enabled. - Field - This is derived from the FeatureLayer. It takes what is set in the Field.editable property. This must always be
true
for editing to be enabled, although it can be overridden tofalse
(not vice-versa) via a field column template. - FeatureTable - The FeatureTable.editingEnabled property must be set on the table in order for any type of editing to be enabled.
- Template - The editable permissions on a field can be configured by setting the editable property of the FieldColumnTemplate.
- If the service's field is not editable, it is not possible to override its permissions using any of the options above.
- FieldColumnTemplate.editable can never override what is set on the layer, field, or table.
- Default Value:false
- See also
- FeatureLayer.editingEnabled - This is derived from the layer's FeatureLayer property. This must always be
-
filterBySelectionEnabled
filterBySelectionEnabled Boolean
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, filterBySelectionEnabled added at 4.30. -
Indicates whether the table only displays rows that are considered selected. Row selection can be modified by adding or removing associated object IDs from highlightIds. This will cause the store to fetch fresh features to ensure the expected sort order is honored.
- Default Value:false
-
filterGeometry
filterGeometry Geometry
Since: ArcGIS Maps SDK for JavaScript 4.19FeatureTableViewModel since 4.15, filterGeometry added at 4.19. -
Set this property to filter the features displayed in the table. It accepts a Geometry, e.g. Extent, and uses it as a spatial filter. When modifying this property, the FeatureTable will completely refresh and re-query for all features.
- Default Value:null
- See also
Example// Listen for when the view is updated. If so, pass the new // view.extent into the table's filterGeometry. await whenOnce(() => featureLayer.loaded); reactiveUtils.when( () => view.stationary === false && !!view.extent, () => { // Filter and show only the visible features in the feature table featureTable.viewModel.filterGeometry = view.extent; }, { initial: true } );
-
hiddenFields
hiddenFields Collection<string>
FeatureTableViewModel since 4.15, hiddenFields added at 4.16. -
A collection of string field.names that are to remain hidden within the table. By default fields such as
CreationDate
,Creator
,EditDate
,Editor
, andGlobalID
do not show. If these fields are needed, set them via TableTemplate.columnTemplates. In this case, it is also required that the column template's visible property is set totrue
.- Default Value:true
- See also
-
- TableTemplate
- esri/widgets/FeatureTable/support/FieldColumnTemplate viewModel: { // autocasts as new FeatureTableViewModel layer: featureLayer, tableTemplate: tableTemplate //autocasts as new TableTemplate }
Examplesconst featureTableVM = new FeatureTableViewModel({ layer: featureLayer, hiddenFields: ["Primary_Type", "incident_date"], // will not show these two fields within the table }, container: document.getElementById("tableDiv") });
// Set this syntax if needing to display a default hidden field, e.g. 'CreationDate` const featureTableVM = new FeatureTableViewModel({ layer: featureLayer, tableTemplate: { // autocasts to TableTemplate customTemplates: [ // takes an array of FieldColumnTemplate and GroupColumnTemplate { //autocasts to FieldColumnTemplate type: "field", fieldName: "CreationDate", label: "Date created", visible: true }] }, container: document.getElementById("tableDiv") });
-
highlightEnabled
highlightEnabled Boolean
Since: ArcGIS Maps SDK for JavaScript 4.25FeatureTableViewModel since 4.15, highlightEnabled added at 4.25. -
Indicates whether to highlight the associated feature when a row is selected. In order for this to work as expected, the table must be associated with a MapView or SceneView.
- Default Value:true
-
highlightIds
highlightIds Collection<(number|string)>
Since: ArcGIS Maps SDK for JavaScript 4.25FeatureTableViewModel since 4.15, highlightIds added at 4.25. -
This property accepts and returns a collection of feature object IDs. Use this to access and control which features are currently selected in the table and subsequently highlighted within the map. Once an application sets a collection of object IDs, the table will select the corresponding row and highlight its feature within the map.
Example// This example instantiates the table with highlighted features const featureTable = new FeatureTable({ view: view, layer: featureLayer, container: "tableDiv", highlightIds }); // Push the object ids into a collection and select featureTable.viewModel.highlightIds.push(2, 3, 4); // Listen for changes in the collection of highlighted features featureTable.viewModel.highlightIds.on("change", (event) => { console.log("features selected", event.added); console.log("features deselected", event.removed); });
-
layer
layer CatalogFootprintLayer |CSVLayer |FeatureLayer |GeoJSONLayer |ImageryLayer |KnowledgeGraphSublayer |SceneLayer |WFSLayer
-
The associated CatalogFootprintLayer, CSVLayer, FeatureLayer, GeoJSONLayer, ImageryLayer, KnowledgeGraphSublayer, SceneLayer, or WFSLayer containing the fields and attributes to display within the widget. The table's pagination defaults to
50
records at a time. It is possible to set the default pagination using the FeatureTable's pageSize property.- Support for CatalogFootprintLayer was added at version 4.30.
- Support for GeoJSONLayer, CSVLayer, ImageryLayer, and WFSLayer was added at version 4.21.
- For an ImageryLayer to work with FeatureTable, it must have mosaic dataset. Currently, Map and FeatureTable interaction for ImageryLayers is not supported.
- See also
-
layerView
layerView LayerViewreadonly
-
-
multipleSelectionEnabled
multipleSelectionEnabled Boolean
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, multipleSelectionEnabled added at 4.30. -
Controls whether the table allows multiple selected rows.
- Default Value:true
-
multiSortEnabled
multiSortEnabled Boolean
Since: ArcGIS Maps SDK for JavaScript 4.23FeatureTableViewModel since 4.15, multiSortEnabled added at 4.23. -
Indicates whether sorting multiple columns is supported within the table. Use this in combination with the FieldColumnTemplate.initialSortPriority and FieldColumnTemplate.direction properties to set sorting functionality for multiple columns.
Exampleconst featureTableVM = new FeatureTableViewModel({ layer: featureLayer, multiSortEnabled: true, tableTemplate: { // autocastable to TableTemplate columnTemplates: [ // takes an array of FieldColumnTemplate and GroupColumnTemplate { // autocastable to FieldColumnTemplate fieldName: "ObjectId", direction: "asc", // In order to use initialSortPriority, make sure direction is set initialSortPriority: 1, // This field's sort order takes second-highest priority. }, { fieldName: "Name", direction: "asc", // In order to use initialSortPriority, make sure direction is set initialSortPriority: 0, // This field's sort order takes the highest priority. }, { fieldName: "Status", direction: "asc", // In order to use initialSortPriority, make sure direction is set initialSortPriority: 2 // This field's sort order is prioritized after Name and ObjectId, respectively. }] }, container: "tableDiv" });
-
objectIds
objectIds Collection<(number|string)>
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, objectIds added at 4.30. -
This property accepts and returns a collection of feature object IDs. Use this to access and control which features are currently visible in the table. When the collection is empty, all potential rows are displayed. Modifying object IDs is not supported while filterBySelectionEnabled is
true
as these properties are mutually exclusive. This filter can also be combined with filterGeometry to display features that satisfy both conditions.
-
relatedRecordsEnabled
relatedRecordsEnabled Boolean
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, relatedRecordsEnabled added at 4.30. -
Indicates whether to display any related records associated with features within the table.
- Default Value:false
-
returnGeometryEnabled
returnGeometryEnabled Boolean
Since: ArcGIS Maps SDK for JavaScript 4.27FeatureTableViewModel since 4.15, returnGeometryEnabled added at 4.27. -
Indicates whether to fetch geometries for the corresponding features displayed in the table.
Setting this to true can impact performance of the widget.
- Default Value:false
-
returnMEnabled
returnMEnabled Boolean
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, returnMEnabled added at 4.30. -
Indicates whether geometries fetched for the corresponding features contain M values, if supported. The returnGeometryEnabled property must also be true.
- Default Value:false
-
returnZEnabled
returnZEnabled Boolean
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, returnZEnabled added at 4.30. -
Indicates whether geometries fetched for the corresponding features contain Z values, if supported. The returnGeometryEnabled property must also be true.
- Default Value:false
-
rowHighlightIds
rowHighlightIds Collection<(number|string)>
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, rowHighlightIds added at 4.30. -
A collection of feature object IDs. Use this to access and control which rows are currently highlighted in the table. Highlighted rows are visually distinct and are not considered selected.
-
size
size Numberreadonly
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, size added at 4.30. -
Total number of records currently displayed in the table. This takes into account all active filters.
- Default Value:0
-
state
state Stringreadonly
-
The state of the widget.
Value Description disabled Dependencies are missing and therefore the widget is disabled. error Widget failed to load (added at version 4.30). loaded Widget is ready to use. loading Widget is busy loading its resources. ready Dependencies are met and has valid property values but hasn't started the load process. Possible Values:"disabled" |"loading" |"loaded" |"ready" |"error"
- Default Value:disabled
-
tableTemplate
tableTemplate TableTemplateautocast
Since: ArcGIS Maps SDK for JavaScript 4.24FeatureTableViewModel since 4.15, tableTemplate added at 4.24. -
The associated template used for the feature table.
The tableTemplate is where you configure how the feature table should display and set any associated properties for the table and its columns.
Exampleconst tableTemplate = new TableTemplate({ columnTemplates: [ // takes an array of FieldColumnTemplate and GroupColumnTemplate { // autocasts to FieldColumnTemplate type: "field", fieldName: "ObjectId", direction: "asc", // In order to use initialSortPriority, make sure direction is set initialSortPriority: 1 // This field's sort order takes the second-highest priority. }, { type: "field", fieldName: "NAME", label: "Name", asc: "asc", // In order to use initialSortPriority, make sure direction is set initialSortPriority: 0 // This field's sort order takes the highest priority }, { type: "field", fieldName: "STATUS", label: "Status", direction: "asc", // In order to use initialSortPriority, make sure direction is set initialSortPriority: 2 // This field's sort order is prioritized after Name and ObjectId, respectively. } ] });
-
timeExtent
timeExtent TimeExtent
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, timeExtent added at 4.30. -
The TimeExtent in which to filter and display data within the FeatureTable widget. Setting this property directly on the viewModel or its widget takes precedence over the layer's timeExtent. If this property is set directly on the widget, the table will not refresh when the layer's timeExtent changes.
- See also
Example// Filters the table to display only features that fit within the time extent reactiveUtils.watch( () => timeSlider.timeExtent, (extent) => { featureTable.viewModel.timeExtent = extent; } );
-
timeZone
timeZone String
Since: ArcGIS Maps SDK for JavaScript 4.28FeatureTableViewModel since 4.15, timeZone added at 4.28. -
Dates and times displayed in the widget will be in terms of this time zone. If not supplied, the view's time zone is typically used (if available). Depending on the field type, individual columns may have their own unique time zone behavior when the time zone itself is
unknown
.
Method Overview
Name | Return Type | Summary | Class |
---|---|---|---|
Adds one or more handles which are to be tied to the lifecycle of the object. | Accessor | ||
Clears the current filterBySelection so that the table displays all of the table rows. | FeatureTableViewModel | ||
Promise<void> | Deletes all the selected rows from the table. | FeatureTableViewModel | |
Filters the table using the current row selection and displays only those selected table rows. | FeatureTableViewModel | ||
Returns the current row index for the associated feature. | FeatureTableViewModel | ||
Returns a field value given the specified feature | FeatureTableViewModel | ||
Returns true if a named group of handles exist. | Accessor | ||
Refreshes the table contents while maintaining the current scroll position. | FeatureTableViewModel | ||
Re-renders the cell's content. | FeatureTableViewModel | ||
Removes a group of handles owned by the object. | Accessor | ||
Performs a full reset of the entire table resulting in the table scrolling to the top-most row. | FeatureTableViewModel | ||
Scrolls the table to a row based on a specified index. | FeatureTableViewModel | ||
Zooms the view to the extent of the current row selection. | FeatureTableViewModel |
Method Details
-
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, addHandles added at 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();
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.
-
Since: ArcGIS Maps SDK for JavaScript 4.23FeatureTableViewModel since 4.15, clearSelectionFilter added at 4.23. Deprecated since version 4.30. UsefilterBySelectionEnabled
orobjectIds()
instead. -
Clears the current filterBySelection so that the table displays all of the table rows.
- See also
-
deleteSelection
deleteSelection(showWarningPrompt){Promise<void>}
Since: ArcGIS Maps SDK for JavaScript 4.25FeatureTableViewModel since 4.15, deleteSelection added at 4.25. -
Deletes all the selected rows from the table.
There must be at least one selected row within the table for this to work. Also, make sure that editingEnabled is set to
true
and the underlying service data supports deletion.ParametershowWarningPrompt BooleanoptionalIndicates whether to display a prompt warning that the selected features will be deleted. Default behavior is to show a warning dialog before proceeding.
ReturnsType Description Promise<void> Resolves when the selection is deleted.
-
Since: ArcGIS Maps SDK for JavaScript 4.23FeatureTableViewModel since 4.15, filterBySelection added at 4.23. Deprecated since version 4.30. UsefilterBySelectionEnabled
orobjectIds
instead. -
Filters the table using the current row selection and displays only those selected table rows.
-
Returns a field value given the specified feature
object
and an associatedfieldName
.ParametersReturnsExample// Gets the field value for the specified field name, "OPENSTATUS" with the given feature ObjectId const featureValue = featureTable.viewModel.getValue(feature.attributes.ObjectId, "OPENSTATUS"); console.log(featureValue);
-
hasHandles
InheritedMethodhasHandles(groupKey){Boolean}
Inherited from AccessorSince: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, hasHandles added at 4.25. -
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"); }
-
Since: ArcGIS Maps SDK for JavaScript 4.16FeatureTableViewModel since 4.15, refresh added at 4.16. -
Refreshes the table contents while maintaining the current scroll position.
-
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, refreshCellContent added at 4.30. -
Re-renders the cell's content. Generally, this is only required if using a custom function for FieldColumnTemplate.formatFunction or ColumnTemplate.formatFunction. If the render function is dependent on external data or its state, and that data or state changes, calling this method will re-render the cell content. If the render function is dependent on the feature's attributes, calling this method is not necessary as the cell content will automatically update when the feature's attributes change. If the render function is dependent on the feature's geometry, calling this method is not necessary as the cell content will automatically update when the feature's geometry changes.
-
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, removeHandles added at 4.25. -
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");
-
Since: ArcGIS Maps SDK for JavaScript 4.23FeatureTableViewModel since 4.15, reset added at 4.23. -
Performs a full reset of the entire table resulting in the table scrolling to the top-most row.
-
Since: ArcGIS Maps SDK for JavaScript 4.19FeatureTableViewModel since 4.15, scrollToIndex added at 4.19. -
Scrolls the table to a row based on a specified index.
Parameterindex NumberIndex of the row in which the table should scroll.
-
Since: ArcGIS Maps SDK for JavaScript 4.23FeatureTableViewModel since 4.15, zoomToSelection added at 4.23. -
Zooms the view to the extent of the current row selection. This can also be triggered as a menu item within the table. This item will display if at least one row is selected and the view is set on the
FeatureTable
.
Type Definitions
-
Configuration for the FeatureTable's actionColumn.
- Properties
-
icon String
The string value indicating the Calcite icon displayed for the action.
label StringThe accessible label to display when hovering over the action.
callback ActionColumnCallbackCallback function invoked when the action is clicked or activated via the keyboard.
frozenToEnd BooleanIndicates the column should be frozen to the end of the table.
disabled ActionColumnDisabledFunction|BooleanIndicates if a specific action should be conditionally disabled.
Example// The following snippet demonstrates how to configure an action column that adds a button to each row which allows the user to zoom to the associated row's feature within the view. featureTable.viewModel.actionColumnConfig = { label: "Go to feature", icon: "zoom-to-object", callback: (params) => { view.goTo(params.feature); } }
-
An array of objects containing a column's name and sort direction. This is used in conjunction with activeSortOrders to help retain a column's sort order while querying.
- Properties
-
fieldName String
The field name as defined by the layer. Set this property to indicate which column to sort. This should match the field name as defined at the feature service level.
Controls the sort order of the column given the set
fieldName
.Possible Value Description asc Sorts the column in ascending order. desc Sorts the column in descending order. null No sort is applied to the column. Possible Values:"asc"|"desc"
- See also
-
Use this for spatial filtering, it is the Geometry used to filter out data within the table.
- Properties
- See also
-
Use this for selecting rows within the table based off of their object ID.
- Properties
- See also
Event Overview
Name | Type | Summary | Class |
---|---|---|---|
|
{type: "cell-click",native: MouseEvent,feature: Graphic,fieldName: String,index: Number,objectId: Number|String} |
Fires when a cell within the table is clicked. |
FeatureTableViewModel |
|
{type: "cell-keydown",native: KeyboardEvent,feature: Graphic,fieldName: String,index: Number,objectId: Number|String} |
Fires when a key is pressed down within a cell within the table. |
FeatureTableViewModel |
|
{type: "cell-pointerout",native: PointerEvent,feature: Graphic,fieldName: String,index: Number,objectId: Number|String} |
Fires when the mouse pointer is moved out of a cell within the table. |
FeatureTableViewModel |
|
{type: "cell-pointerover",native: PointerEvent,feature: Graphic,fieldName: String,index: Number,objectId: Number|String} |
Fires when the mouse pointer is moved over a cell within the table. |
FeatureTableViewModel |
Event Details
-
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, cell-click added at 4.30. -
Fires when a cell within the table is clicked.
- Properties
-
type String
The type of cell interaction event.
The value is always "cell-click".
native MouseEventThe native event object used for the interaction.
feature GraphicThe feature associated with the cell.
fieldName StringThe field name associated with the cell.
index NumberSpecifies the index of the row (not just the individual cell).
optional The object ID of the feature associated with the cell.
Example// This snippet removes the selection column and adds an event listener // which toggles the highlight of a feature when a cell is clicked. featureTable.visibleElements.selectionColumn = false; featureTable.viewModel.on("cell-click", (event) => { if (featureTable.highlightIds.includes(event.objectId)) { featureTable.highlightIds.remove(event.objectId); } else { featureTable.highlightIds.push(event.objectId); } });
-
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, cell-keydown added at 4.30. -
Fires when a key is pressed down within a cell within the table.
- Properties
-
type String
The type of cell interaction event.
The value is always "cell-keydown".
native KeyboardEventThe native event object used for the interaction.
feature GraphicThe feature associated with the cell.
fieldName StringThe field name associated with the cell.
index NumberSpecifies the index of the row (not just the individual cell).
optional The object ID of the feature associated with the cell.
Example// The following snippet listens for the Enter key to be pressed within a cell and zooms // to the feature associated with the row. featureTable.viewModel.on("cell-keydown", (event) => { if (event.native.key === "Enter") { view.goTo(event.feature); } });
-
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, cell-pointerout added at 4.30. -
Fires when the mouse pointer is moved out of a cell within the table.
- Properties
-
type String
The type of cell interaction event.
The value is always "cell-pointerout".
native PointerEventThe native event object used for the interaction.
feature GraphicThe feature associated with the cell.
fieldName StringThe field name associated with the cell.
index NumberSpecifies the index of the row (not just the individual cell).
optional The object ID of the feature associated with the cell.
-
Since: ArcGIS Maps SDK for JavaScript 4.30FeatureTableViewModel since 4.15, cell-pointerover added at 4.30. -
Fires when the mouse pointer is moved over a cell within the table.
- Properties
-
type String
The type of cell interaction event.
The value is always "cell-pointerover".
native PointerEventThe native event object used for the interaction.
feature GraphicThe feature associated with the cell.
fieldName StringThe field name associated with the cell.
index NumberSpecifies the index of the row (not just the individual cell).
optional The object ID of the feature associated with the cell.