FeatureLayerDataSource

Interface

FeatureLayerDataSource is created from a single feature layer of feature service, map service or webmap/webscene.

The source of feature layer data source may be from -

  1. an array directly ( sourceRecords ), isDataInDataSourceInstance is true for such data sources, or,
  2. an ArcGIS Maps SDK for JavaScript feature layer, or,
  3. an AGOL/portal item or a remote database.

Please note, for the 2, the feature layer can be both client-side or server-side.

Inheritance: FeatureLayerDataSourceArcGISQueriableDataSource

Properties

Hide inherited properties
PropertyTypeNotes
() => void

When current data source is created from an array of records, it will be saved in sourceRecords . Add the version of sourceRecords .setSourceRecords will add the version by default.

addVersion
inherited
() => void

Update data source version.

The data source which this data source derives from.

buildRecord
inherited
(featureIFeature | Graphic) => FeatureDataRecord

Builds a data record only -- does not add the record into data source.

(gdbVersionstring) => void

Change the layer GDB version.

clearRecords
inherited
() => void

This function will clear the loaded records and won't clear the sourceRecords. Once the loaded records are cleared, the version in the data source info will be updated.

() => void

Clear both sourceRecords and loaded records. Both source version and version in data source info will be updated.

count
inherited
number

The total records count depends on the current query

(dataSource?DataSource, useDataSourceQueryParams?boolean, throwError?boolean) => Promise<Layer | ArcGISSubLayer>

Default dataSource is the current data source. Default useDataSourceQueryParams is true, that is to say apply the data source's query params to the created ArcGIS Maps SDK for JavaScript layer by default. Default throwError is false, that is to say the method won't throw error and will return undefined if the creation fail.

The data source manager, which is used to manage the data source, including create/get/destroy the data source instance.

dataViewId
inherited
string

The data view ID configured in JSON.

destroy
inherited
() => void

Destroy the data source.

fetchSchema
inherited
() => Promise<IMDataSourceSchema>

Fetch the data schema from an actual data source. If it's a statistic data source, the schema will not be fetched.

() => DataSource[]

Return the derived data views and local data sources.

() => DataRecord[]

Get records of all the loaded pages.

() => number

If the return value > 0, auto refresh is enabled.

Get the user config query parameters.

Return data source count status.

() => string

Get the current loaded record id, which is used in loadById method.

(options?GetCurrentQueryParamsOptions) => ArcGISQueryParams

Get the current query parameters. The current query parameters contain all applied queries.

() => IMDataSourceJson

The data source JSON object in app config.

() => IMDataViewJson

Return the config of the current data source.

getDataViews
inherited

Override parent interface to get correct type.

getGDBVersion
inherited
() => string

Return the current GDB version.

getIdField
inherited
() => string

Return the data source ID field.

getInfo
inherited
() => IMDataSourceInfo

Return the data source info in redux store.

getLabel
inherited
() => string

Return data source label.

() => boolean

Return whether listen selection.

(localIdstring) => DataSource

Get local data source by local ID.

() => DataSource[]

Return all local data sources created from a main data source or data view.

() => number

Null means there is no record count limit, and will return all records from the service.

(pageSizenumber, pagenumber) => number[]

Get real query page depends on the widget's request page.

(queryany, flag"query" | "load", options?QueryOptions) => ArcGISQueryParams

When do query/load, we do not fire the query request directly. Instead, we'll consider the data source's config/current query parameter.

getRecord
inherited
(indexnumber) => DataRecord

Get record by index

getRecordById
inherited
(idstring) => DataRecord

Get record by ID

getRecords
inherited
() => DataRecord[]

Get records of the loaded continuous pages. If the loaded pages are 1, 2, and 10, will only return records on the page 1 and 2.

(pagenumber, pageSizenumber) => DataRecord[]

The page size here defines the records this method returns, which are not the actual query pageSize. Will use a fixed pageSize to query and cache data.

(pagenumber, pageSizenumber) => DataRecord[]

If selected records are not loaded in the current data source, will concat them to the end of records array. See getRecordsWithSelection for details.

() => DataRecord[]

If selected records are not loaded in the current data source, they will be concatenated to the end of records array. For example, record 1 is selected in data view 1 and it is not loaded in data view 2 (record 1 actually matches query params of data view 2), dataView2.getRecordsWithSelection() will return all loaded records in data view 2 and record 1.

Get the query parameters configured in remote (not in exb).

Return the root data source.

(excludeWidgetId?string) => QueryParams

Get the queries applied in runtime. If the excludeWidgetId is passed in, the queries of this widget will be excluded.

getSchema
inherited

The schema returned here is the merged result of the configured schema and the fetched schema. The configured schema is the user's changes, such as a new data source name. The fetched schema is the original schema from AGOL/portal item or a remote database, such as the service name, the fields and the filters.

() => string[]

Get selected record IDs

() => number[]

Get selected record indexes

() => DataRecord[]

Get selected records

Get selection data view

() => DataRecord[]

Return the source records

() => number

When current data source is created from an array of records, it will be saved in sourceRecords . Return the version of sourceRecords .

getStatus
inherited

Return data source status.

getVersion
inherited
() => number

Return data source version.

id
inherited
string

The data source ID.

() => thisisDataSource & SetDataSourceMixin

Whether a data source contains child data sources. A set data source won't create all its child data sources when ready is resolved. To make sure all child data sources are created, please use childDataSourcesReady .

isDataView
inherited
boolean

True means the data source is a data view. For local data source, this is false even the local data source is created from a data view.

isInAppConfig
inherited
() => boolean

Return whether the data source is added in builder and is saved in app config.

isLocal
inherited
boolean

True means the data source is a local data source.

boolean

Whether the data source is case-sensitive when doing query by SQL clauses.

FeatureLayer

The ArcGIS Maps SDK for JavaScript FeatureLayer object.

load
inherited
(queryArcGISQueryParams, options?QueryOptions) => Promise<DataRecord[]>

Execute the query against the service and update the internal data records, pagination is supported. When call this method, the real query is returned by getRealQueryParams .

loadById
inherited
(idstring, refresh?boolean) => Promise<DataRecord>

Load record by ID, do not consider other queries.

loadCount
inherited
(queryArcGISQueryParams, options?QueryOptions) => Promise<number>

Load the records count.

localId
inherited
string

The local ID of the data source.

Merge queries by using AND , and return the merged result. If any query is undefined/null, it will be ignored.

order
inherited
number

Order in the parent data source.

DataSource & SetDataSourceMixin

The parent data source of this data source, mull means it's a root data source.

query
inherited
(queryArcGISQueryParams, options?QueryOptions) => Promise<QueryResult>

Execute query against the service only, do NOT update the internal data records. The actual query parameters are generated by getRealQueryParams .

queryAll
inherited
(queryQueryParams, signal?AbortSignal, progressCallback?QueryProgressCallback, options?QueryOptions) => Promise<QueryResult>

Query all records, there is no limit to the number of the records returned in the records array response. You can abort the progress by a abort signal and can use progressCallback to get the progress and the current results.

queryById
inherited
(idstring, fields?string[]) => Promise<DataRecord>

Query record by ID. Will return all fields if not pass in the fields .

queryCount
inherited
(queryArcGISQueryParams, options?QueryOptions) => Promise<QueryResult>

Query count

queryIds
inherited
(queryArcGISQueryParams, options?QueryOptions) => Promise<QueryResult>

Query record IDs, there is no limit to the number of the IDs returned in the ids array response.

ready
inherited
() => Promise<any>

Ready is resolved means the data source instance is ready for use. Please note that can not make sure all child data sources are created if a set data source is ready. To make sure all child data sources are created, please use childDataSourcesReady .

The Feature Layer JSON object.

(idstring, record?FeatureDataRecord) => void

Select a record by ID. When select record by ID, we can pass in the record. So when the selected record is not loaded, we can add it in.

(idsstring[], records?FeatureDataRecord[]) => void

Select records by IDs. When select records by IDs, we can pass in the records. So when the selected records are not loaded, we can add them in.

(statusDataSourceStatus) => void

Update data source count status.

(dsJsonIMDataSourceJson) => void

Update data source JSON in data source instance

(listenboolean) => void

Whether listen selected records from other data sources which are derived from the same main data source. If true, will update selected record IDs of current data source info when selecting records via other derived data sources. Will also update selected record IDs when selecting records via current data source itself. If false, won't change selected record IDs when selecting records via other derived data sources. Will update selected record IDs only when selecting records via current data source itself.

setRecords
inherited
(recordsDataRecord[]) => void

Update the records in the data source object only, does not update the source data.

(featuresGraphic | GraphicProperties[], others?Omit<FeatureLayerProperties"fields" | "source" | "objectIdField">) => Promise<void>

When current data source is created from an array of features (__esri.Graphic), will save it in an ArcGIS Maps SDK for JavaScript feature layer. This method is used to update the source data. Please note, use this method only when isDataInDataSourceInstance is not true.

(recordsDataRecord[]) => void

When current data source is created from an array of records ( DataRecord ), will save it in sourceRecords . These two methods are used to update or get the source data. Please note, use these two methods only when isDataInDataSourceInstance is true.

setStatus
inherited
(statusDataSourceStatus) => void

Update data source status.

FeatureLayer

The type of the data source.

(queryQueryParams, widgetIdstring) => void

Update the data source query without executing the actual query.

(optionsSelectOptions, triggerDataSourceDataSource, forceCheck?boolean) => void

Update selected records in data source info if the current data source listens selection change (see setListenSelection ) or the current data source is the trigger data source (that is to say, select via it).

url
inherited
string

The data source URL

addSourceVersion

inheritedinherited
Interface Property
addSourceVersion: () => void

When current data source is created from an array of records, it will be saved in sourceRecords . Add the version of sourceRecords .setSourceRecords will add the version by default.

Type declaration
    function(): void
    Returns 
    void

addVersion

optionalinheritedinherited
Interface Property
addVersion: () => void

Update data source version.

Type declaration
    function(): void
    Returns 
    void

belongToDataSource

optionalinheritedinherited
Interface Property
belongToDataSource: DataSource

The data source which this data source derives from.

buildRecord

inheritedinherited
Interface Property
buildRecord: (featureIFeature | Graphic) => FeatureDataRecord

Builds a data record only -- does not add the record into data source.

Type declaration

changeGDBVersion

inheritedinherited
Interface Property
changeGDBVersion: (gdbVersionstring) => void

Change the layer GDB version.

Type declaration
    function(gdbVersionstring): void
    Parameters
    ParameterType
    gdbVersion
    string
    Returns 
    void

clearRecords

optionalinheritedinherited
Interface Property
clearRecords: () => void

This function will clear the loaded records and won't clear the sourceRecords. Once the loaded records are cleared, the version in the data source info will be updated.

Type declaration
    function(): void
    Returns 
    void

clearSourceRecords

inheritedinherited
Interface Property
clearSourceRecords: () => void

Clear both sourceRecords and loaded records. Both source version and version in data source info will be updated.

Type declaration
    function(): void
    Returns 
    void

count

optionalinheritedinherited
Interface Property
count: number

The total records count depends on the current query

createJSAPILayerByDataSource

inheritedinherited
Interface Property
createJSAPILayerByDataSource: (dataSource?DataSource, useDataSourceQueryParams?boolean, throwError?boolean) => Promise<Layer | ArcGISSubLayer>

Default dataSource is the current data source. Default useDataSourceQueryParams is true, that is to say apply the data source's query params to the created ArcGIS Maps SDK for JavaScript layer by default. Default throwError is false, that is to say the method won't throw error and will return undefined if the creation fail.

Type declaration
    function(dataSource?DataSource, useDataSourceQueryParams?boolean, throwError?boolean): Promise<Layer | ArcGISSubLayer>
    Parameters
    ParameterType
    dataSource
    DataSource
    useDataSourceQueryParams
    boolean
    throwError
    boolean
    Returns 
    Promise<Layer | ArcGISSubLayer>

dataSourceManager

inheritedinherited
Interface Property
dataSourceManager: DataSourceManager

The data source manager, which is used to manage the data source, including create/get/destroy the data source instance.

dataViewId

optionalinheritedinherited
Interface Property
dataViewId: string

The data view ID configured in JSON.

destroy

inheritedinherited
Interface Property
destroy: () => void

Destroy the data source.

Type declaration
    function(): void
    Returns 
    void

fetchSchema

inheritedinherited
Interface Property
fetchSchema: () => Promise<IMDataSourceSchema>

Fetch the data schema from an actual data source. If it's a statistic data source, the schema will not be fetched.

Type declaration

getAllDerivedDataSources

inheritedinherited
Interface Property
getAllDerivedDataSources: () => DataSource[]

Return the derived data views and local data sources.

Type declaration

getAllLoadedRecords

inheritedinherited
Interface Property
getAllLoadedRecords: () => DataRecord[]

Get records of all the loaded pages.

Type declaration

getAutoRefreshInterval

inheritedinherited
Interface Property
getAutoRefreshInterval: () => number

If the return value > 0, auto refresh is enabled.

Type declaration
    function(): number
    Returns 
    number

getConfigQueryParams

inheritedinherited
Interface Property
getConfigQueryParams: () => ArcGISQueryParams

Get the user config query parameters.

Type declaration

getCountStatus

inheritedinherited
Interface Property
getCountStatus: () => DataSourceStatus

Return data source count status.

Type declaration

getCurrentQueryId

inheritedinherited
Interface Property
getCurrentQueryId: () => string

Get the current loaded record id, which is used in loadById method.

Type declaration
    function(): string
    Returns 
    string

getCurrentQueryParams

inheritedinherited
Interface Property
getCurrentQueryParams: (options?GetCurrentQueryParamsOptions) => ArcGISQueryParams

Get the current query parameters. The current query parameters contain all applied queries.

Type declaration

getDataSourceJson

inheritedinherited
Interface Property
getDataSourceJson: () => IMDataSourceJson

The data source JSON object in app config.

Type declaration
    function(): IMDataSourceJson
    Returns 
    IMDataSourceJson

getDataViewConfig

inheritedinherited
Interface Property
getDataViewConfig: () => IMDataViewJson

Return the config of the current data source.

Type declaration
    function(): IMDataViewJson
    Returns 
    IMDataViewJson

getDataViews

inheritedinherited
Interface Property
getDataViews: () => ArcGISQueriableDataSource[]

Override parent interface to get correct type.

Type declaration

getGDBVersion

inheritedinherited
Interface Property
getGDBVersion: () => string

Return the current GDB version.

Type declaration
    function(): string
    Returns 
    string

getIdField

inheritedinherited
Interface Property
getIdField: () => string

Return the data source ID field.

Type declaration
    function(): string
    Returns 
    string

getInfo

inheritedinherited
Interface Property
getInfo: () => IMDataSourceInfo

Return the data source info in redux store.

Type declaration
    function(): IMDataSourceInfo
    Returns 
    IMDataSourceInfo

getLabel

inheritedinherited
Interface Property
getLabel: () => string

Return data source label.

Type declaration
    function(): string
    Returns 
    string

getListenSelection

inheritedinherited
Interface Property
getListenSelection: () => boolean

Return whether listen selection.

Type declaration
    function(): boolean
    Returns 
    boolean

getLocalDataSource

inheritedinherited
Interface Property
getLocalDataSource: (localIdstring) => DataSource

Get local data source by local ID.

Type declaration

getLocalDataSources

inheritedinherited
Interface Property
getLocalDataSources: () => DataSource[]

Return all local data sources created from a main data source or data view.

Type declaration

getMaxRecordCount

inheritedinherited
Interface Property
getMaxRecordCount: () => number

Null means there is no record count limit, and will return all records from the service.

Type declaration
    function(): number
    Returns 
    number

getRealQueryPages

inheritedinherited
Interface Property
getRealQueryPages: (pageSizenumber, pagenumber) => number[]

Get real query page depends on the widget's request page.

Type declaration
    function(pageSizenumber, pagenumber): number[]
    Parameters
    ParameterType
    pageSize
    number
    page
    number
    Returns 
    number[]

getRealQueryParams

inheritedinherited
Interface Property
getRealQueryParams: (queryany, flag"query" | "load", options?QueryOptions) => ArcGISQueryParams

When do query/load, we do not fire the query request directly. Instead, we'll consider the data source's config/current query parameter.

  • For load: we'll merge the configured query parameter if it has, and all widget applied queries.
  • For query, we'll merge the current query parameter and the configured query parameter it has.
Type declaration

getRecord

inheritedinherited
Interface Property
getRecord: (indexnumber) => DataRecord

Get record by index

Type declaration

getRecordById

inheritedinherited
Interface Property
getRecordById: (idstring) => DataRecord

Get record by ID

Type declaration

getRecords

inheritedinherited
Interface Property
getRecords: () => DataRecord[]

Get records of the loaded continuous pages. If the loaded pages are 1, 2, and 10, will only return records on the page 1 and 2.

Widgets can use different page sizes to query the data source, but the data source has a specific page size to query the service. The data source will save the loaded records by its own page size and split them when widgets doing queries (with different page and page sizes). The method returns continuous page records to make sure the order of the records is correct.

Type declaration

getRecordsByPage

inheritedinherited
Interface Property
getRecordsByPage: (pagenumber, pageSizenumber) => DataRecord[]

The page size here defines the records this method returns, which are not the actual query pageSize. Will use a fixed pageSize to query and cache data.

Type declaration
    function(pagenumber, pageSizenumber): DataRecord[]
    Parameters
    ParameterType
    page
    number
    pageSize
    number
    Returns 
    DataRecord[]

getRecordsByPageWithSelection

inheritedinherited
Interface Property
getRecordsByPageWithSelection: (pagenumber, pageSizenumber) => DataRecord[]

If selected records are not loaded in the current data source, will concat them to the end of records array. See getRecordsWithSelection for details.

Type declaration
    function(pagenumber, pageSizenumber): DataRecord[]
    Parameters
    ParameterType
    page
    number
    pageSize
    number
    Returns 
    DataRecord[]

getRecordsWithSelection

inheritedinherited
Interface Property
getRecordsWithSelection: () => DataRecord[]

If selected records are not loaded in the current data source, they will be concatenated to the end of records array. For example, record 1 is selected in data view 1 and it is not loaded in data view 2 (record 1 actually matches query params of data view 2), dataView2.getRecordsWithSelection() will return all loaded records in data view 2 and record 1.

Type declaration

getRemoteQueryParams

inheritedinherited
Interface Property
getRemoteQueryParams: () => QueryParams

Get the query parameters configured in remote (not in exb).

Type declaration

getRootDataSource

inheritedinherited
Interface Property
getRootDataSource: () => DataSource

Return the root data source.

Type declaration

getRuntimeQueryParams

inheritedinherited
Interface Property
getRuntimeQueryParams: (excludeWidgetId?string) => QueryParams

Get the queries applied in runtime. If the excludeWidgetId is passed in, the queries of this widget will be excluded.

Type declaration
    function(excludeWidgetId?string): QueryParams
    Parameters
    ParameterType
    excludeWidgetId
    string
    Returns 
    QueryParams

getSchema

inheritedinherited
Interface Property
getSchema: () => IMDataSourceSchema

The schema returned here is the merged result of the configured schema and the fetched schema. The configured schema is the user's changes, such as a new data source name. The fetched schema is the original schema from AGOL/portal item or a remote database, such as the service name, the fields and the filters.

Type declaration

getSelectedRecordIds

inheritedinherited
Interface Property
getSelectedRecordIds: () => string[]

Get selected record IDs

Type declaration
    function(): string[]
    Returns 
    string[]

getSelectedRecordIndexes

inheritedinherited
Interface Property
getSelectedRecordIndexes: () => number[]

Get selected record indexes

Type declaration
    function(): number[]
    Returns 
    number[]

getSelectedRecords

inheritedinherited
Interface Property
getSelectedRecords: () => DataRecord[]

Get selected records

Type declaration

getSelectionDataView

inheritedinherited
Interface Property
getSelectionDataView: () => DataSource

Get selection data view

Type declaration

getSourceRecords

inheritedinherited
Interface Property
getSourceRecords: () => DataRecord[]

Return the source records

Type declaration

getSourceVersion

inheritedinherited
Interface Property
getSourceVersion: () => number

When current data source is created from an array of records, it will be saved in sourceRecords . Return the version of sourceRecords .

Type declaration
    function(): number
    Returns 
    number

getStatus

inheritedinherited
Interface Property
getStatus: () => DataSourceStatus

Return data source status.

Type declaration

getVersion

inheritedinherited
Interface Property
getVersion: () => number

Return data source version.

Type declaration
    function(): number
    Returns 
    number

id

inheritedinherited
Interface Property
id: string

The data source ID.

isDataSourceSet

inheritedinherited
Interface Property
isDataSourceSet: () => thisisDataSource & SetDataSourceMixin

Whether a data source contains child data sources. A set data source won't create all its child data sources when ready is resolved. To make sure all child data sources are created, please use childDataSourcesReady .

Type declaration

isDataView

inheritedinherited
Interface Property
isDataView: boolean

True means the data source is a data view. For local data source, this is false even the local data source is created from a data view.

isInAppConfig

inheritedinherited
Interface Property
isInAppConfig: () => boolean

Return whether the data source is added in builder and is saved in app config.

Type declaration
    function(): boolean
    Returns 
    boolean

isLocal

inheritedinherited
Interface Property
isLocal: boolean

True means the data source is a local data source.

isSqlCaseSensitive

inheritedinherited
Interface Property
isSqlCaseSensitive: boolean

Whether the data source is case-sensitive when doing query by SQL clauses.

layer

optional
Interface Property
layer: FeatureLayer

The ArcGIS Maps SDK for JavaScript FeatureLayer object.

load

inheritedinherited
Interface Property
load: (queryArcGISQueryParams, options?QueryOptions) => Promise<DataRecord[]>

Execute the query against the service and update the internal data records, pagination is supported. When call this method, the real query is returned by getRealQueryParams .

Pagination: The pagination properties in the passed in query parameter may be not the same as the real query pagination that is sent to the service. The real query pagination is defined in the data source setting.

Type declaration

loadById

inheritedinherited
Interface Property
loadById: (idstring, refresh?boolean) => Promise<DataRecord>

Load record by ID, do not consider other queries.

Type declaration
    function(idstring, refresh?boolean): Promise<DataRecord>
    Parameters
    ParameterType
    id
    string
    refresh
    boolean
    Returns 
    Promise<DataRecord>

loadCount

inheritedinherited
Interface Property
loadCount: (queryArcGISQueryParams, options?QueryOptions) => Promise<number>

Load the records count.

Type declaration

localId

optionalinheritedinherited
Interface Property
localId: string

The local ID of the data source.

mergeQueryParams

inheritedinherited
Interface Property
mergeQueryParams: (queriesArcGISQueryParams[]) => ArcGISQueryParams

Merge queries by using AND , and return the merged result. If any query is undefined/null, it will be ignored.

Type declaration

order

optionalinheritedinherited
Interface Property
order: number

Order in the parent data source.

parentDataSource

inheritedinherited
Interface Property
parentDataSource: DataSource & SetDataSourceMixin

The parent data source of this data source, mull means it's a root data source.

query

inheritedinherited
Interface Property
query: (queryArcGISQueryParams, options?QueryOptions) => Promise<QueryResult>

Execute query against the service only, do NOT update the internal data records. The actual query parameters are generated by getRealQueryParams .

To query count, please use queryCount .

Type declaration

queryAll

inheritedinherited
Interface Property
queryAll: (queryQueryParams, signal?AbortSignal, progressCallback?QueryProgressCallback, options?QueryOptions) => Promise<QueryResult>

Query all records, there is no limit to the number of the records returned in the records array response. You can abort the progress by a abort signal and can use progressCallback to get the progress and the current results.

Type declaration

queryById

inheritedinherited
Interface Property
queryById: (idstring, fields?string[]) => Promise<DataRecord>

Query record by ID. Will return all fields if not pass in the fields .

Type declaration
    function(idstring, fields?string[]): Promise<DataRecord>
    Parameters
    ParameterType
    id
    string
    fields
    string[]
    Returns 
    Promise<DataRecord>

queryCount

inheritedinherited
Interface Property
queryCount: (queryArcGISQueryParams, options?QueryOptions) => Promise<QueryResult>

Query count

Type declaration

queryIds

inheritedinherited
Interface Property
queryIds: (queryArcGISQueryParams, options?QueryOptions) => Promise<QueryResult>

Query record IDs, there is no limit to the number of the IDs returned in the ids array response.

Type declaration

ready

inheritedinherited
Interface Property
ready: () => Promise<any>

Ready is resolved means the data source instance is ready for use. Please note that can not make sure all child data sources are created if a set data source is ready. To make sure all child data sources are created, please use childDataSourcesReady .

Type declaration
    function(): Promise<any>
    Returns 
    Promise<any>

restLayer

optional
Interface Property
restLayer: IFeatureLayer

The Feature Layer JSON object.

selectRecordById

inheritedinherited
Interface Property
selectRecordById: (idstring, record?FeatureDataRecord) => void

Select a record by ID. When select record by ID, we can pass in the record. So when the selected record is not loaded, we can add it in.

Type declaration
    function(idstring, record?FeatureDataRecord): void
    Parameters
    ParameterTypeNotes
    id
    string

    The ID to be selected. The selection will be cleared if the ID is null.

    record
    FeatureDataRecord
    Returns 
    void

selectRecordsByIds

inheritedinherited
Interface Property
selectRecordsByIds: (idsstring[], records?FeatureDataRecord[]) => void

Select records by IDs. When select records by IDs, we can pass in the records. So when the selected records are not loaded, we can add them in.

Type declaration
    function(idsstring[], records?FeatureDataRecord[]): void
    Parameters
    ParameterTypeNotes
    ids
    string[]

    The IDs to be selected. The selection will be cleared if the IDs are null.

    records
    FeatureDataRecord[]
    Returns 
    void

setCountStatus

optionalinheritedinherited
Interface Property
setCountStatus: (statusDataSourceStatus) => void

Update data source count status.

Type declaration

setDataSourceJson

inheritedinherited
Interface Property
setDataSourceJson: (dsJsonIMDataSourceJson) => void

Update data source JSON in data source instance

Type declaration
    function(dsJsonIMDataSourceJson): void
    Parameters
    ParameterType
    dsJson
    IMDataSourceJson
    Returns 
    void

setListenSelection

inheritedinherited
Interface Property
setListenSelection: (listenboolean) => void

Whether listen selected records from other data sources which are derived from the same main data source. If true, will update selected record IDs of current data source info when selecting records via other derived data sources. Will also update selected record IDs when selecting records via current data source itself. If false, won't change selected record IDs when selecting records via other derived data sources. Will update selected record IDs only when selecting records via current data source itself.

Main data source and its data views will listen selected records by default, local data source does not listen selected records by default.

Type declaration
    function(listenboolean): void
    Parameters
    ParameterType
    listen
    boolean
    Returns 
    void

setRecords

inheritedinherited
Interface Property
setRecords: (recordsDataRecord[]) => void

Update the records in the data source object only, does not update the source data.

Type declaration

setSourceFeatures

inheritedinherited
Interface Property
setSourceFeatures: (featuresGraphic | GraphicProperties[], others?Omit<FeatureLayerProperties"fields" | "source" | "objectIdField">) => Promise<void>

When current data source is created from an array of features (__esri.Graphic), will save it in an ArcGIS Maps SDK for JavaScript feature layer. This method is used to update the source data. Please note, use this method only when isDataInDataSourceInstance is not true.

Type declaration
    function(featuresGraphic | GraphicProperties[], others?Omit<FeatureLayerProperties"fields" | "source" | "objectIdField">): Promise<void>
    Parameters
    ParameterType
    features
    Graphic | GraphicProperties[]
    others
    Omit<FeatureLayerProperties"fields" | "source" | "objectIdField">
    Returns 
    Promise<void>

setSourceRecords

inheritedinherited
Interface Property
setSourceRecords: (recordsDataRecord[]) => void

When current data source is created from an array of records ( DataRecord ), will save it in sourceRecords . These two methods are used to update or get the source data. Please note, use these two methods only when isDataInDataSourceInstance is true.

Type declaration

setStatus

optionalinheritedinherited
Interface Property
setStatus: (statusDataSourceStatus) => void

Update data source status.

Type declaration

type

Interface Property
type: FeatureLayer

The type of the data source.

updateQueryParams

inheritedinherited
Interface Property
updateQueryParams: (queryQueryParams, widgetIdstring) => void

Update the data source query without executing the actual query.

Type declaration
    function(queryQueryParams, widgetIdstring): void
    Parameters
    ParameterType
    query
    QueryParams
    widgetId
    string
    Returns 
    void

updateSelectionInfo

inheritedinherited
Interface Property
updateSelectionInfo: (optionsSelectOptions, triggerDataSourceDataSource, forceCheck?boolean) => void

Update selected records in data source info if the current data source listens selection change (see setListenSelection ) or the current data source is the trigger data source (that is to say, select via it).

Before update info, will check whether these selected records match filters of the current data source firstly, and then only set the matched selected records to info. Will skip the check in some cases to improve performance if the forceCheck is not passed in or is false. For example, if the current data source is main data source (we suppose that main data source contains all records, no need to check). But if the forceCheck is true, won't skip the check.

Type declaration

url

optionalinheritedinherited
Interface Property
url: string

The data source URL

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