Class: DeferredDataProvider

Oracle® JavaScript Extension Toolkit (JET)
7.1.0

F18183-01

Signature:

class DeferredDataProvider<K, D> implements DataProvider<K, D>

QuickNav


PREVIEW: This is a preview API. Preview APIs are production quality, but can be changed on a major version without a deprecation path.

DeferredDataProvider

Version:
  • 7.1.0
Since:
  • 4.2.0
Module:
  • ojdeferreddataprovider

Module usage

See JET Module Loading for an overview of module usage within JET.

Javascript Import Format
define(['ojs/ojdeferreddataprovider'], function(DeferredDataProvider) {
 // Application should call API on DeferredDataProvider 
})
Typescript Import Format
//This class is exported directly as module. To import it
import DeferredDataProvider= require("ojs/ojdeferreddataprovider");

Generic Parameters
ParameterDescription
KType of Key
DType of Data

JET In Typescript

A detailed description of working with JET elements and classes in your typescript project can be found at: JET Typescript Usage.

Description

This class implements oj.DataProvider. This object represents a data provider that is created with deferred data and can be used by any component that requires a data provider that will be created with data from a Promise.

Constructor

new DeferredDataProvider(dataProvider, capabilityFunc)

PREVIEW: This is a preview API. Preview APIs are production quality, but can be changed on a major version without a deprecation path.

Parameters:
Name Type Description
dataProvider Promise.<oj.DataProvider.<K, D>> A promise that resolves to an oj.DataProvider
capabilityFunc (capabilityName: string)=> any An function that implements oj.DataProvider#getCapability.

Methods

addEventListener(eventType, listener)

PREVIEW: This is a preview API. Preview APIs are production quality, but can be changed on a major version without a deprecation path.

Parameters:
Name Type Description
eventType string The event type to add listener to.
listener EventListener The event listener to add.

containsKeys(params: FetchByKeysParameters<K>): Promise<ContainsKeysResults<K>>

PREVIEW: This is a preview API. Preview APIs are production quality, but can be changed on a major version without a deprecation path.

Check if there are rows containing the specified keys
Parameters:
Name Type Description
params oj.FetchByKeysParameters Fetch by keys parameters
Returns:
Promise which resolves to oj.ContainsKeysResults
Type
Promise.<oj.ContainsKeysResults>

dispatchEvent(evt) → {boolean}

PREVIEW: This is a preview API. Preview APIs are production quality, but can be changed on a major version without a deprecation path.

Parameters:
Name Type Description
evt Event The event to dispatch.
Returns:
false if the deferred data provider has not resolved or the event has been cancelled, and true otherwise.
Type
boolean

fetchByKeys(params: FetchByKeysParameters<K>): Promise<FetchByKeysResults<K, D>>

PREVIEW: This is a preview API. Preview APIs are production quality, but can be changed on a major version without a deprecation path.

Fetch rows by keys
Parameters:
Name Type Description
params oj.FetchByKeysParameters Fetch by keys parameters
Returns:
Promise which resolves to oj.FetchByKeysResults
Type
Promise.<oj.FetchByKeysResults>

fetchByOffset(params: FetchByOffsetParameters<D>): Promise<FetchByOffsetResults<K, D>>

PREVIEW: This is a preview API. Preview APIs are production quality, but can be changed on a major version without a deprecation path.

Fetch rows by offset
Parameters:
Name Type Description
params oj.FetchByOffsetParameters Fetch by offset parameters
Returns:
Promise which resolves to oj.FetchByOffsetResults
Type
Promise.<oj.FetchByOffsetResults>

fetchFirst(params?: FetchListParameters<D>): AsyncIterable<FetchListResult<K, D>>

PREVIEW: This is a preview API. Preview APIs are production quality, but can be changed on a major version without a deprecation path.

Fetch the first block of data.
Parameters:
Name Type Argument Description
params oj.FetchListParameters <optional>
Fetch parameters
See:
Returns:
AsyncIterable with oj.FetchListResult
Type
AsyncIterable.<oj.FetchListResult>

getCapability(capabilityName) → {any}

PREVIEW: This is a preview API. Preview APIs are production quality, but can be changed on a major version without a deprecation path.

Determines whether this DataProvider supports certain feature.
Parameters:
Name Type Argument Description
capabilityName string <optional>
capability name. Supported capability names are: "fetchByKeys", "fetchByOffset", and "sort"
Returns:
capability information or null if unsupported
Type
any

getTotalSize() → {Promise.<number>}

PREVIEW: This is a preview API. Preview APIs are production quality, but can be changed on a major version without a deprecation path.

Return the total number of rows in this dataprovider
Returns:
Returns a Promise which resolves to the total number of rows. -1 is unknown row count.
Type
Promise.<number>

isEmpty() → {"yes"|"no"|"unknown"}

PREVIEW: This is a preview API. Preview APIs are production quality, but can be changed on a major version without a deprecation path.

Return a string that indicates if this data provider is empty
Returns:
a string that indicates if this data provider is empty. Valid values are: "yes": this data provider is empty. "no": this data provider is not empty. "unknown": it is not known if this data provider is empty until it has resolved, and a fetch is made.
Type
"yes" | "no" | "unknown"

removeEventListener(eventType, listener)

PREVIEW: This is a preview API. Preview APIs are production quality, but can be changed on a major version without a deprecation path.

Parameters:
Name Type Description
eventType string The event type to remove listener from.
listener EventListener The event listener to remove.