Query entities by entityDomain and entityType.
Usage
import { EntitiesByDomainTypeQuery } from 'nr1'
Examples
Declarative query
<EntitiesByDomainTypeQuery entityDomain="APM" entityType="APPLICATION"> {({ error, data, fetchMore }) => { if (error) { return 'Error!'; }
return ( <List items={data.entities} rowCount={data.count} rowHeight={20} onLoadMore={fetchMore} > {({ item }) => <ListItem key={item.guid}>{item.name}</ListItem>} </List> ); }}</EntitiesByDomainTypeQuery>
Fetch with sorting criteria
<EntitiesByDomainTypeQuery entityDomain="INFRA" entityType="HOST" sortBy={[EntitiesByDomainTypeQuery.SORT_TYPE.ALERT_SEVERITY]}> {({ data, error, fetchMore }) => { if (error) { return 'Error!'; }
return ( <List items={data.entities} rowCount={data.count} rowHeight={20} onLoadMore={fetchMore} > {({ item }) => <ListItem key={item.guid}>{item.name}</ListItem>} </List> ); }}</EntitiesByDomainTypeQuery>
Imperative query
EntitiesByDomainTypeQuery.query({ entityDomain: 'APM', entityType: 'APPLICATION',}).then(({ data }) => console.log(data));
Fetch more results using imperative query
const firstPage = await EntitiesByDomainTypeQuery.query({ entityDomain: 'APM', entityType: 'APPLICATION',});
console.log('First page data', firstPage.data);
const cursor = firstPage.data.nextCursor;const secondPage = await EntitiesByDomainTypeQuery.query({ cursor, entityDomain: 'APM', entityType: 'APPLICATION',});
console.log('Second page data', secondPage.data);
// NOTE: To fetch multiple page results consecutively,// use EntitiesByDomainTypeQuery component's fetchMore approach.
Props
function | Render prop function as a child. function ( |
REQUIREDstring | Domain of the entities you want to query. |
object | GraphQL fragment document parsed into an AST by
|
REQUIREDstring | Type of the entities you want to query. |
enum | Allows you to specify how you want your query to interact with the cached data.
|
string|(shape|shape|shape)[] | Filters used to narrow down the entities.This is an array of filters, and there are 3 possible filters:
|
boolean | |
boolean | If |
number | Pagination, number of entities to fetch for on each page. |
number | Interval in milliseconds to poll for new data. Set to zero to avoid any kind of regular polling. |
boolean | When set to |
enum[] | Array of criteras used to sort the entity search results. <Array of |
Methods
EntitiesByDomainTypeQuery.query
function (props: Object Object containing the query options. Any EntitiesByDomainTypeQuery
prop is a valid option except children
and pollInterval
.
) => PromiseQueryResult
Type definitions
PromiseQueryResult
{error: ApolloClient.ApolloError, Runtime error with graphQLErrors
and networkError
properties.
data: Object, Object containing the result of your query.
fetchMore: function|null, If not null
, fetchMore
allows you to load more results for your query. New data is merged with previous data.
refetch: function, Refetch the query.
}
QueryResult
{loading: boolean, Indicates that the request is in flight.
error: ApolloClient.ApolloError, Runtime error with graphQLErrors
and networkError
properties.
data: Object, Object containing the result of your query.
fetchMore: function|null, If not null
, fetchMore
allows you to load more results for your query. New data is merged with previous data.
refetch: function, Refetch the query.
}