SceneLayerDataSource

Interface

SceneLayerDataSource is created from a single scene layer of scene service or webscene.

Inheritance: SceneLayerDataSourceQueriableDataSource

Properties

PropertyTypeNotes
belongToDataSource
 optional 

The data source which this data source derives from.

count
 optional 
number

The total records count depends on the current query

dataViewId
 optional 
string

The data view id configured in Json.

string

The data source id.

boolean

Whether a data source contains child data sources. A dataset data source should create all its child data sources before ready() is resolved.

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.

boolean

True means the data source is a local data source.

localId
 optional 
string

The local id of the data source.

order
 optional 
number

Order in the parent data source.

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

SceneLayer

The type of the data source

string

The data source URL

belongToDataSource optional

belongToDataSource: DataSource

The data source which this data source derives from.

count optional

count: number

The total records count depends on the current query

dataViewId optional

dataViewId: string

The data view id configured in Json.

id

id: string

The data source id.

isDataSourceSet

isDataSourceSet: boolean

Whether a data source contains child data sources. A dataset data source should create all its child data sources before ready() is resolved.

isDataView

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.

isLocal

isLocal: boolean

True means the data source is a local data source.

localId optional

localId: string

The local id of the data source.

order optional

order: number

Order in the parent data source.

parentDataSource

parentDataSource: DataSource

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

type

type: SceneLayer

The type of the data source

url

url: string

The data source URL

Methods

MethodReturnsNotes
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()
 optional 
void

Update data source version.

changeGDBVersion(gdbVersion)
void

Change the layer GDB version.

clearRecords()
 optional 
void

This function will clear the loaded records and won't clear the sourceRecords. Once the loaded records cleared, version in 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.

Promise<IMDataSourceSchema>

Fetch data schema from an actual data source. If it's a statistic data source, we won't fetch schema.

Return all child data sources of a parent data source, includes the grandchildren

Return the derived data views and local data sources.

number

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

getChildDataSource(jimuChildId)
 optional 

Get child data source by jimuChildId. You can get jimuChildId by getJimuChildId().

getChildDataSources()
 optional 

Return child data sources of a parent data source.

Get the user config query parameters.

Return data source count status.

getCurrentQueryParams(excludeOption?)

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

IMDataSourceJson

The data source JSON object in app config.

getDataView(dataViewId)

Get data view by data view id.

Override parent interface to get correct type.

string

Return the current GDB version.

GeometryType
string

Return the data source id field.

IMDataSourceInfo

Return the data source info in redux store.

string

Return data source label.

boolean

Return whether listen selection.

Get local data source by local Id.

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

Return the main data source.

number

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

getRealQueryPages(pageSize, page)
number[]

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

getRealQueryParams(query, flag, options?)

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.
getRecord(index)

Get record by index

Get record by id

Get records

getRecordsByPage(page, pageSize)

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.

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

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.

getRuntimeQueryParams(excludeWidgetId?)

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

IMDataSourceSchema

The schema returned here is the merged result of the configured schema and the fetched schema.

getSelectedRecordIds()
 optional 
string[]

Get selected record ids

number[]

Get selected record indexes

getSelectedRecords()
 optional 

Get selected records

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.

Return data source status.

number

Return data source version.

load(query, options?)
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 returnd by getRealQueryParams.

loadById(id, refresh?)
Promise<DataRecord>

Load record by id, do not consider other queries.

loadCount(query, options?)
Promise<number>

Load the records count.

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

query(queryProperties)
Promise<QueryResult>

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

Query record by id

queryCount(queryProperties)
Promise<QueryResult>

Query count

Promise<any>

Ready is resolved means the data source instance is ready for use.

selectRecordById(id, record?, forceCheck?)
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. If forceCheck is true, will check whether the record match filters of the data source or not. Will select the record only if the check is passed.

selectRecordsByIds(ids, records?, forceCheck?)
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. If forceCheck is true, will check whether these records match filters of the data source or not. Will select the records which check is passed.

setCountStatus(status)
 optional 
void

Update data source count status.

void

Update data source JSON in data source instance

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(records)
void

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

void

When current data source is created from an array of records, will save it in sourceRecords. These two methods are use to update or get the source data.

setStatus(status)
 optional 
void

Update data source status.

updateQueryParams(query, widgetId)
void

Update the data source query without executing the actual query.

updateSelectionInfo(ids, triggerDataSource, forceCheck?)
 optional 
void

Update selected record ids 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).

addSourceVersion

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.

Returns 
void

addVersion optional

addVersion(): void

Update data source version.

Returns 
void

changeGDBVersion

changeGDBVersion(gdbVersionstring): void

Change the layer GDB version.

Parameters
ParameterType
gdbVersion
string
Returns 
void

clearRecords optional

clearRecords(): void

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

Returns 
void

clearSourceRecords

clearSourceRecords(): void

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

Returns 
void

fetchSchema

fetchSchema(): Promise<IMDataSourceSchema>

Fetch data schema from an actual data source. If it's a statistic data source, we won't fetch schema.

Returns 
Promise<IMDataSourceSchema>

getAllChildDataSources optional

getAllChildDataSources(): DataSource[]

Return all child data sources of a parent data source, includes the grandchildren

Returns 
DataSource[]

getAllDerivedDataSources

getAllDerivedDataSources(): DataSource[]

Return the derived data views and local data sources.

Returns 
DataSource[]

getAutoRefreshInterval

getAutoRefreshInterval(): number

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

Returns 
number

getChildDataSource optional

getChildDataSource(jimuChildIdstring): DataSource

Get child data source by jimuChildId. You can get jimuChildId by getJimuChildId().

Parameters
ParameterType
jimuChildId
string
Returns 
DataSource

getChildDataSources optional

getChildDataSources(): DataSource[]

Return child data sources of a parent data source.

Returns 
DataSource[]

getConfigQueryParams

getConfigQueryParams(): FeatureLayerQueryParams

Get the user config query parameters.

Returns 
FeatureLayerQueryParams

getCountStatus

getCountStatus(): DataSourceStatus

Return data source count status.

Returns 
DataSourceStatus

getCurrentQueryParams

getCurrentQueryParams(excludeOption?WidgetDataSourcePair): QueryParams

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

Parameters
ParameterType
excludeOption
WidgetDataSourcePair
Returns 
QueryParams

getDataSourceJson

getDataSourceJson(): IMDataSourceJson

The data source JSON object in app config.

Returns 
IMDataSourceJson

getDataView

getDataView(dataViewIdstring): QueriableDataSource

Get data view by data view id.

Parameters
ParameterType
dataViewId
string
Returns 
QueriableDataSource

getDataViews

getDataViews(): QueriableDataSource[]

Override parent interface to get correct type.

Returns 
QueriableDataSource[]

getGDBVersion

getGDBVersion(): string

Return the current GDB version.

Returns 
string

getGeometryType

getGeometryType(): GeometryType
Returns 
GeometryType

getIdField

getIdField(): string

Return the data source id field.

Returns 
string

getInfo

getInfo(): IMDataSourceInfo

Return the data source info in redux store.

Returns 
IMDataSourceInfo

getLabel

getLabel(): string

Return data source label.

Returns 
string

getListenSelection

getListenSelection(): boolean

Return whether listen selection.

Returns 
boolean

getLocalDataSource

getLocalDataSource(localIdstring): DataSource

Get local data source by local Id.

Parameters
ParameterType
localId
string
Returns 
DataSource

getLocalDataSources

getLocalDataSources(): DataSource[]

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

Returns 
DataSource[]

getMainDataSource

getMainDataSource(): QueriableDataSource

Return the main data source.

Returns 
QueriableDataSource

getMaxRecordCount

getMaxRecordCount(): number

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

Returns 
number

getRealQueryPages

getRealQueryPages(pageSizenumber, pagenumber): number[]

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

Parameters
ParameterType
pageSize
number
page
number
Returns 
number[]

getRealQueryParams

getRealQueryParams(queryany, flag"query" | "load", options?QueryOptions): FeatureLayerQueryParams

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.
Parameters
ParameterType
query
any
flag
"query" | "load"
options
QueryOptions
Returns 
FeatureLayerQueryParams

getRecord

getRecord(indexnumber): DataRecord

Get record by index

Parameters
ParameterType
index
number
Returns 
DataRecord

getRecordById

getRecordById(idstring): DataRecord

Get record by id

Parameters
ParameterType
id
string
Returns 
DataRecord

getRecords

getRecords(): DataRecord[]

Get records

Returns 
DataRecord[]

getRecordsByPage

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.

Parameters
ParameterType
page
number
pageSize
number
Returns 
DataRecord[]

getRecordsByPageWithSelection

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.

Parameters
ParameterType
page
number
pageSize
number
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.

Returns 
DataRecord[]

getRemoteQueryParams

getRemoteQueryParams(): QueryParams

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

Returns 
QueryParams

getRootDataSource

getRootDataSource(): DataSource

Return the root data source.

Returns 
DataSource

getRuntimeQueryParams

getRuntimeQueryParams(excludeWidgetId?string): QueryParams

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

Parameters
ParameterType
excludeWidgetId
string
Returns 
QueryParams

getSchema

getSchema(): IMDataSourceSchema

The schema returned here is the merged result of the configured schema and the fetched schema.

Returns 
IMDataSourceSchema

getSelectedRecordIds optional

getSelectedRecordIds(): string[]

Get selected record ids

Returns 
string[]

getSelectedRecordIndexes optional

getSelectedRecordIndexes(): number[]

Get selected record indexes

Returns 
number[]

getSelectedRecords optional

getSelectedRecords(): DataRecord[]

Get selected records

Returns 
DataRecord[]

getSourceRecords

getSourceRecords(): DataRecord[]

Return the source records

Returns 
DataRecord[]

getSourceVersion

getSourceVersion(): number

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

Returns 
number

getStatus

getStatus(): DataSourceStatus

Return data source status.

Returns 
DataSourceStatus

getVersion

getVersion(): number

Return data source version.

Returns 
number

load

load(queryFeatureLayerQueryParams, 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 returnd 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.

Parameters
ParameterType
query
FeatureLayerQueryParams
options
QueryOptions
Returns 
Promise<DataRecord[]>

loadById

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

Load record by id, do not consider other queries.

Parameters
ParameterType
id
string
refresh
boolean
Returns 
Promise<DataRecord>

loadCount

loadCount(queryFeatureLayerQueryParams, options?QueryOptions): Promise<number>

Load the records count.

Parameters
ParameterType
query
FeatureLayerQueryParams
options
QueryOptions
Returns 
Promise<number>

mergeQueryParams

mergeQueryParams(queriesFeatureLayerQueryParams[]): FeatureLayerQueryParams

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

Parameters
ParameterType
queries
FeatureLayerQueryParams[]
Returns 
FeatureLayerQueryParams

query

query(queryPropertiesFeatureLayerQueryParams): Promise<QueryResult>

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

To query count, please use queryCount.

Parameters
ParameterType
queryProperties
FeatureLayerQueryParams
Returns 
Promise<QueryResult>

queryById

queryById(idstring): Promise<FeatureDataRecord>

Query record by id

Parameters
ParameterType
id
string
Returns 
Promise<FeatureDataRecord>

queryCount

queryCount(queryPropertiesFeatureLayerQueryParams): Promise<QueryResult>

Query count

Parameters
ParameterType
queryProperties
FeatureLayerQueryParams
Returns 
Promise<QueryResult>

ready

ready(): Promise<any>

Ready is resolved means the data source instance is ready for use.

Returns 
Promise<any>

selectRecordById

selectRecordById(idstring, record?FeatureDataRecord, forceCheck?boolean): 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. If forceCheck is true, will check whether the record match filters of the data source or not. Will select the record only if the check is passed.

Parameters
ParameterType
id
string
record
FeatureDataRecord
forceCheck
boolean
Returns 
void

selectRecordsByIds

selectRecordsByIds(idsstring[], records?FeatureDataRecord[], forceCheck?boolean): 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. If forceCheck is true, will check whether these records match filters of the data source or not. Will select the records which check is passed.

Parameters
ParameterType
ids
string[]
records
FeatureDataRecord[]
forceCheck
boolean
Returns 
void

setCountStatus optional

setCountStatus(statusDataSourceStatus): void

Update data source count status.

Parameters
ParameterType
status
DataSourceStatus
Returns 
void

setDataSourceJson

setDataSourceJson(dsJsonIMDataSourceJson): void

Update data source JSON in data source instance

Parameters
ParameterType
dsJson
IMDataSourceJson
Returns 
void

setListenSelection

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.

Parameters
ParameterType
listen
boolean
Returns 
void

setRecords

setRecords(recordsDataRecord[]): void

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

Parameters
ParameterType
records
DataRecord[]
Returns 
void

setSourceRecords

setSourceRecords(recordsDataRecord[]): void

When current data source is created from an array of records, will save it in sourceRecords. These two methods are use to update or get the source data.

Parameters
ParameterType
records
DataRecord[]
Returns 
void

setStatus optional

setStatus(statusDataSourceStatus): void

Update data source status.

Parameters
ParameterType
status
DataSourceStatus
Returns 
void

updateQueryParams

updateQueryParams(queryQueryParams, widgetIdstring): void

Update the data source query without executing the actual query.

Parameters
ParameterType
query
QueryParams
widgetId
string
Returns 
void

updateSelectionInfo optional

updateSelectionInfo(idsstring[], triggerDataSourceDataSource, forceCheck?boolean): void

Update selected record ids 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 curren 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.

Parameters
ParameterType
ids
string[]
triggerDataSource
DataSource
forceCheck
boolean
Returns 
void

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