Interface
MapServiceDataSource is created from map service or webmap/webscene.
Properties
| Property | Type | Notes |
|---|---|---|
addSourceVersioninherited | () => void | When current data source is created from an array of records, it will be saved in |
addVersioninherited | () => void | Update data source version. |
areChildDataSourcesCreatedinherited | () => boolean | Return whether all child data sources (including descendant data sources) are created.
Data source has this method only if it is data source set ( |
belongToDataSourceinherited | DataSource | The data source which this data source derives from. |
buildRecordinherited | (data: any) => DataRecord | Builds a data record only -- does not add the record into data source. |
changeGDBVersioninherited | (gdbVersion: string) => void | Change the GDB version for all layers in the service. |
changeTimeExtent | (time: TimeExtent, widgetId: string) => void | Change the time extent for all layers in the service. |
childDataSourcesReadyinherited | () => Promise<DataSource[]> | All child data sources (including descendant data sources) are ready for use.
Data source has this method only if it is data source set ( |
clearRecordsinherited | () => 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. |
clearSourceRecordsinherited | () => void | Clear both sourceRecords and loaded records. Both source version and version in data source info will be updated. |
countinherited | number | The total records count depends on the current query |
createDataSourceByIdinherited | (dataSourceId: string) => Promise<DataSource> | Create a child or a descendant data source by id.
Data source has this method only if it is data source set ( |
createJSAPILayerByDataSourceinherited | (dataSource?: DataSource, useDataSourceQueryParams?: boolean, throwError?: boolean) => Promise<Layer | ArcGISSubLayer> | Default |
dataSourceManagerinherited | DataSourceManager | The data source manager, which is used to manage the data source, including create/get/destroy the data source instance. |
dataViewIdinherited | string | The data view ID configured in JSON. |
destroyinherited | () => void | Destroy the data source. |
fetchSchemainherited | () => Promise<IMDataSourceSchema> | Fetch the data schema from an actual data source. If it's a statistic data source, the schema will not be fetched. |
getAllChildDataSourcesinherited | () => DataSource[] | Return all child data sources of a parent data source, includes the grandchildren |
getAllDerivedDataSourcesinherited | () => DataSource[] | Return the derived data views and local data sources. |
getChildDataSourceinherited | (jimuChildId: string) => DataSource | Get child data source by |
getChildDataSourceIdsinherited | () => string[] | Get child data source IDs, the child data sources may not be created by the time. |
getChildDataSourcesinherited | () => DataSource[] | Return child data sources of a parent data source. |
getCountStatusinherited | () => DataSourceStatus | Return data source count status. |
getDataSourceJsoninherited | () => IMDataSourceJson | The data source JSON object in app config. |
getDataViewinherited | (dataViewId: string) => DataSource | Get data view by data view ID. |
getDataViewConfiginherited | () => IMDataViewJson | Return the config of the current data source. |
getDataViewsinherited | () => DataSource[] | Return all data views created from a main data source. |
getGDBVersioninherited | () => string | Get the service GDB version. |
getIdFieldinherited | () => string | Return the data source ID field. |
getInfoinherited | () => IMDataSourceInfo | Return the data source info in redux store. |
getLabelinherited | () => string | Return data source label. |
getListenSelectioninherited | () => boolean | Return whether listen selection. |
getLocalDataSourceinherited | (localId: string) => DataSource | Get local data source by local ID. |
getLocalDataSourcesinherited | () => DataSource[] | Return all local data sources created from a main data source or data view. |
getMainDataSourceinherited | () => DataSource | Return the main data source. |
getRecordinherited | (index: number) => DataRecord | Get record by index |
getRecordByIdinherited | (id: string) => DataRecord | Get record by ID |
getRecordsinherited | () => DataRecord[] | Get records |
getRecordsWithSelectioninherited | () => 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. |
getRootDataSourceinherited | () => DataSource | Return the root data source. |
getSchemainherited | () => 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. |
getSelectedRecordIdsinherited | () => string[] | Get selected record IDs |
getSelectedRecordIndexesinherited | () => number[] | Get selected record indexes |
getSelectedRecordsinherited | () => DataRecord[] | Get selected records |
getSelectionDataViewinherited | () => DataSource | Get selection data view |
getSourceRecordsinherited | () => DataRecord[] | Return the source records |
getSourceVersioninherited | () => number | When current data source is created from an array of records, it will be saved in |
getStatusinherited | () => DataSourceStatus | Return data source status. |
getTimeExtent | () => TimeExtent | Get the time extent. |
getVersioninherited | () => number | Return data source version. |
idinherited | string | The data source ID. |
isDataSourceSetinherited | () => thisisDataSource & SetDataSourceMixin | Whether a data source contains child data sources.
A set data source won't create all its child data sources when |
isDataViewinherited | 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. |
isInAppConfiginherited | () => boolean | Return whether the data source is added in builder and is saved in app config. |
isLocalinherited | boolean | True means the data source is a local data source. |
isSelectionViewinherited | () => boolean | Determine whether the data source is a selection view. |
layer | MapImageLayer | TileLayer | When add a map service directly, there is no layer instance created.
When add a webmap that contains map service, the map service will be created as |
localIdinherited | string | The local ID of the data source. |
orderinherited | number | Order in the parent data source. |
parentDataSourceinherited | DataSource & SetDataSourceMixin | The parent data source of this data source, mull means it's a root data source. |
readyinherited | () => 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 |
selectRecordByIdinherited | (id: string, record?: DataRecord) => 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. |
selectRecordsinherited | (options: SelectOptions) => Promise<Pick<QueryResult, "records">> | Select records. |
selectRecordsByIdsinherited | (ids: string[], records?: DataRecord[]) => 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. |
setCountStatusinherited | (status: DataSourceStatus) => void | Update data source count status. |
setDataSourceJsoninherited | (dsJson: IMDataSourceJson) => void | Update data source JSON in data source instance |
setListenSelectioninherited | (listen: boolean) => 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. |
setRecordsinherited | (records: DataRecord[]) => void | Update the records in the data source object only, does not update the source data. |
setSourceRecordsinherited | (records: DataRecord[]) => void | When current data source is created from an array of records, will save it in |
setStatusinherited | (status: DataSourceStatus) => void | Update data source status. |
type | MapService | The type of the data source. |
updateSelectionInfoinherited | (options: SelectOptions, triggerDataSource: DataSource, forceCheck?: boolean) => void | Update selected records in data source info if the current data source listens selection change (see |
addSourceVersion
addSourceVersion: () => voidWhen 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(): voidReturns
voidaddVersion
addVersion: () => voidUpdate data source version.
Type declaration
function(): voidReturns
voidareChildDataSourcesCreated
areChildDataSourcesCreated: () => booleanReturn whether all child data sources (including descendant data sources) are created.
Data source has this method only if it is data source set ( dataSource.isDataSourceSet() is true).
Type declaration
function(): booleanReturns
booleanbelongToDataSource
belongToDataSource: DataSourceThe data source which this data source derives from.
buildRecord
buildRecord: (data: any) => DataRecordBuilds a data record only -- does not add the record into data source.
Type declaration
function(data: any): DataRecordParameters
| Parameter | Type |
|---|---|
data | any |
Returns
DataRecordchangeGDBVersion
changeGDBVersion: (gdbVersion: string) => voidChange the GDB version for all layers in the service.
Type declaration
function(gdbVersion: string): voidParameters
| Parameter | Type |
|---|---|
gdb | string |
Returns
voidchangeTimeExtent
Interface PropertychangeTimeExtent: (time: TimeExtent, widgetId: string) => voidChange the time extent for all layers in the service.
Type declaration
function(time: TimeExtent, widgetId: string): voidParameters
| Parameter | Type |
|---|---|
time | TimeExtent |
widget | string |
Returns
voidchildDataSourcesReady
childDataSourcesReady: () => Promise<DataSource[]>All child data sources (including descendant data sources) are ready for use.
Data source has this method only if it is data source set ( dataSource.isDataSourceSet() is true).
Type declaration
function(): Promise<DataSource[]>Returns
Promise<DataSource[]>clearRecords
clearRecords: () => voidThis 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(): voidReturns
voidclearSourceRecords
clearSourceRecords: () => voidClear both sourceRecords and loaded records. Both source version and version in data source info will be updated.
Type declaration
function(): voidReturns
voidcount
count: numberThe total records count depends on the current query
createDataSourceById
createDataSourceById: (dataSourceId: string) => Promise<DataSource>Create a child or a descendant data source by id.
Data source has this method only if it is data source set ( dataSource.isDataSourceSet() is true).
Please note will only create the specific data source, won't create descendant data sources of it.
Type declaration
function(dataSourceId: string): Promise<DataSource>Parameters
| Parameter | Type |
|---|---|
data | string |
Returns
Promise<DataSource>createJSAPILayerByDataSource
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
| Parameter | Type |
|---|---|
data | DataSource |
use | boolean |
throw | boolean |
Returns
Promise<Layer | ArcGISSubLayer>dataSourceManager
dataSourceManager: DataSourceManagerThe data source manager, which is used to manage the data source, including create/get/destroy the data source instance.
dataViewId
dataViewId: stringThe data view ID configured in JSON.
destroy
destroy: () => voidDestroy the data source.
Type declaration
function(): voidReturns
voidfetchSchema
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
function(): Promise<IMDataSourceSchema>Returns
Promise<IMDataSourceSchema>getAllChildDataSources
getAllChildDataSources: () => DataSource[]Return all child data sources of a parent data source, includes the grandchildren
Type declaration
function(): DataSource[]Returns
DataSource[]getAllDerivedDataSources
getAllDerivedDataSources: () => DataSource[]Return the derived data views and local data sources.
Type declaration
function(): DataSource[]Returns
DataSource[]getChildDataSource
getChildDataSource: (jimuChildId: string) => DataSourceGet child data source by jimuChildId . You can get jimuChildId by getJimuChildId() .
Type declaration
function(jimuChildId: string): DataSourceParameters
| Parameter | Type |
|---|---|
jimu | string |
Returns
DataSourcegetChildDataSourceIds
getChildDataSourceIds: () => string[]Get child data source IDs, the child data sources may not be created by the time.
Type declaration
function(): string[]Returns
string[]getChildDataSources
getChildDataSources: () => DataSource[]Return child data sources of a parent data source.
Type declaration
function(): DataSource[]Returns
DataSource[]getCountStatus
getCountStatus: () => DataSourceStatusReturn data source count status.
Type declaration
function(): DataSourceStatusReturns
DataSourceStatusgetDataSourceJson
getDataSourceJson: () => IMDataSourceJsonThe data source JSON object in app config.
Type declaration
function(): IMDataSourceJsonReturns
IMDataSourceJsongetDataView
getDataView: (dataViewId: string) => DataSourceGet data view by data view ID.
Type declaration
function(dataViewId: string): DataSourceParameters
| Parameter | Type |
|---|---|
data | string |
Returns
DataSourcegetDataViewConfig
getDataViewConfig: () => IMDataViewJsonReturn the config of the current data source.
Type declaration
function(): IMDataViewJsonReturns
IMDataViewJsongetDataViews
getDataViews: () => DataSource[]Return all data views created from a main data source.
Type declaration
function(): DataSource[]Returns
DataSource[]getGDBVersion
getGDBVersion: () => stringGet the service GDB version.
Type declaration
function(): stringReturns
stringgetIdField
getIdField: () => stringReturn the data source ID field.
Type declaration
function(): stringReturns
stringgetInfo
getInfo: () => IMDataSourceInfoReturn the data source info in redux store.
Type declaration
function(): IMDataSourceInfoReturns
IMDataSourceInfogetLabel
getLabel: () => stringReturn data source label.
Type declaration
function(): stringReturns
stringgetListenSelection
getListenSelection: () => booleanReturn whether listen selection.
Type declaration
function(): booleanReturns
booleangetLocalDataSource
getLocalDataSource: (localId: string) => DataSourceGet local data source by local ID.
Type declaration
function(localId: string): DataSourceParameters
| Parameter | Type |
|---|---|
local | string |
Returns
DataSourcegetLocalDataSources
getLocalDataSources: () => DataSource[]Return all local data sources created from a main data source or data view.
Type declaration
function(): DataSource[]Returns
DataSource[]getMainDataSource
getMainDataSource: () => DataSourceReturn the main data source.
Type declaration
function(): DataSourceReturns
DataSourcegetRecord
getRecord: (index: number) => DataRecordGet record by index
Type declaration
function(index: number): DataRecordParameters
| Parameter | Type |
|---|---|
index | number |
Returns
DataRecordgetRecordById
getRecordById: (id: string) => DataRecordGet record by ID
Type declaration
function(id: string): DataRecordParameters
| Parameter | Type |
|---|---|
id | string |
Returns
DataRecordgetRecords
getRecords: () => DataRecord[]Get records
Type declaration
function(): DataRecord[]Returns
DataRecord[]getRecordsWithSelection
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
function(): DataRecord[]Returns
DataRecord[]getRootDataSource
getRootDataSource: () => DataSourceReturn the root data source.
Type declaration
function(): DataSourceReturns
DataSourcegetSchema
getSchema: () => IMDataSourceSchemaThe 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
function(): IMDataSourceSchemaReturns
IMDataSourceSchemagetSelectedRecordIds
getSelectedRecordIds: () => string[]Get selected record IDs
Type declaration
function(): string[]Returns
string[]getSelectedRecordIndexes
getSelectedRecordIndexes: () => number[]Get selected record indexes
Type declaration
function(): number[]Returns
number[]getSelectedRecords
getSelectedRecords: () => DataRecord[]Get selected records
Type declaration
function(): DataRecord[]Returns
DataRecord[]getSelectionDataView
getSelectionDataView: () => DataSourceGet selection data view
Type declaration
function(): DataSourceReturns
DataSourcegetSourceRecords
getSourceRecords: () => DataRecord[]Return the source records
Type declaration
function(): DataRecord[]Returns
DataRecord[]getSourceVersion
getSourceVersion: () => numberWhen current data source is created from an array of records, it will be saved in sourceRecords .
Return the version of sourceRecords .
Type declaration
function(): numberReturns
numbergetStatus
getStatus: () => DataSourceStatusReturn data source status.
Type declaration
function(): DataSourceStatusReturns
DataSourceStatusgetTimeExtent
Interface PropertygetTimeExtent: () => TimeExtentGet the time extent.
Type declaration
function(): TimeExtentReturns
TimeExtentgetVersion
getVersion: () => numberReturn data source version.
Type declaration
function(): numberReturns
numberisDataSourceSet
isDataSourceSet: () => thisisDataSource & SetDataSourceMixinWhether 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
function(): thisisDataSource & SetDataSourceMixinReturns
thisisDataSource & SetDataSourceMixinisDataView
isDataView: booleanTrue 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
isInAppConfig: () => booleanReturn whether the data source is added in builder and is saved in app config.
Type declaration
function(): booleanReturns
booleanisLocal
isLocal: booleanTrue means the data source is a local data source.
isSelectionView
isSelectionView: () => booleanDetermine whether the data source is a selection view.
Type declaration
function(): booleanReturns
booleanlayer
layer: MapImageLayer | TileLayerWhen add a map service directly, there is no layer instance created.
When add a webmap that contains map service, the map service will be created as __esri.MapImageLayer or __esri.TileLayer layer.
localId
localId: stringThe local ID of the data source.
order
order: numberOrder in the parent data source.
parentDataSource
parentDataSource: DataSource & SetDataSourceMixinThe parent data source of this data source, mull means it's a root data source.
ready
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>selectRecordById
selectRecordById: (id: string, record?: DataRecord) => voidSelect 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(id: string, record?: DataRecord): voidParameters
| Parameter | Type | Notes |
|---|---|---|
id | string | The ID to be selected. The selection will be cleared if the ID is null. |
record | DataRecord |
Returns
voidselectRecords
selectRecords: (options: SelectOptions) => Promise<Pick<QueryResult, "records">>Select records.
Type declaration
function(options: SelectOptions): Promise<Pick<QueryResult, "records">>Parameters
| Parameter | Type |
|---|---|
options | SelectOptions |
Returns
Promise<Pick<QueryResult, "records">>selectRecordsByIds
selectRecordsByIds: (ids: string[], records?: DataRecord[]) => voidSelect 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(ids: string[], records?: DataRecord[]): voidParameters
| Parameter | Type | Notes |
|---|---|---|
ids | string[] | The IDs to be selected. The selection will be cleared if the IDs are null. |
records | DataRecord[] |
Returns
voidsetCountStatus
setCountStatus: (status: DataSourceStatus) => voidUpdate data source count status.
Type declaration
function(status: DataSourceStatus): voidParameters
| Parameter | Type |
|---|---|
status | DataSourceStatus |
Returns
voidsetDataSourceJson
setDataSourceJson: (dsJson: IMDataSourceJson) => voidUpdate data source JSON in data source instance
Type declaration
function(dsJson: IMDataSourceJson): voidParameters
| Parameter | Type |
|---|---|
ds | IMDataSourceJson |
Returns
voidsetListenSelection
setListenSelection: (listen: boolean) => voidWhether 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(listen: boolean): voidParameters
| Parameter | Type |
|---|---|
listen | boolean |
Returns
voidsetRecords
setRecords: (records: DataRecord[]) => voidUpdate the records in the data source object only, does not update the source data.
Type declaration
function(records: DataRecord[]): voidParameters
| Parameter | Type |
|---|---|
records | DataRecord[] |
Returns
voidsetSourceRecords
setSourceRecords: (records: DataRecord[]) => voidWhen current data source is created from an array of records, will save it in sourceRecords .
These two methods are used to update or get the source data.
Type declaration
function(records: DataRecord[]): voidParameters
| Parameter | Type |
|---|---|
records | DataRecord[] |
Returns
voidsetStatus
setStatus: (status: DataSourceStatus) => voidUpdate data source status.
Type declaration
function(status: DataSourceStatus): voidParameters
| Parameter | Type |
|---|---|
status | DataSourceStatus |
Returns
voidupdateSelectionInfo
updateSelectionInfo: (options: SelectOptions, triggerDataSource: DataSource, forceCheck?: boolean) => voidUpdate 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
function(options: SelectOptions, triggerDataSource: DataSource, forceCheck?: boolean): voidParameters
| Parameter | Type |
|---|---|
options | SelectOptions |
trigger | DataSource |
force | boolean |
Returns
void