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> | A promise that resolves to an oj.DataProvider |
capabilityFunc |
function | An function that implements oj.DataProvider#getCapability. |
Example
// DeferredDataProvider is used in cases where the data for the data provider will be
// provided asynchronously. In the example below, let getDeferredData() be any function
// that returns a Promise that will resolve to the final data.
var deferredDataPromise = getDeferredData();
// Create a Promise that will resolve to a data provider containing the resolved data
var dataProviderPromise = deferredDataPromise.then(function(resolvedData){
return new oj.ArrayDataProvider(resolvedData);
});
// Then create a DeferredDataProvider object with the promise that will resolve to a data provider,
// and an implemenation of oj.DataProvider#getCapability
var dataprovider = new oj.DeferredDataProvider(dataProviderPromise, capabilityFunc);
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 eventTypestring The event type to add listener to. listenerEventListener The event listener to add. -
containsKeys(params) → {Promise.<oj.ContainsKeysResults>}
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 paramsoj.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 evtEvent 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) → {Promise.<oj.FetchByKeysResults>}
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 paramsoj.FetchByKeysParameters Fetch by keys parameters Returns:
Promise which resolves to oj.FetchByKeysResults- Type
- Promise.<oj.FetchByKeysResults>
-
fetchByOffset(params) → {Promise.<oj.FetchByOffsetResults>}
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 paramsoj.FetchByOffsetParameters Fetch by offset parameters Returns:
Promise which resolves to oj.FetchByOffsetResults- Type
- Promise.<oj.FetchByOffsetResults>
-
fetchFirst(params) → {AsyncIterable.<oj.FetchListResult>}
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 paramsoj.FetchListParameters <optional>
Fetch parameters - See:
-
- https://github.com/tc39/proposal-async-iteration for further information on AsyncIterable.
Returns:
AsyncIterable with oj.FetchListResult- Type
- AsyncIterable.<oj.FetchListResult>
-
getCapability(capabilityName) → {Object}
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 Description capabilityNamestring capability name. Supported capability names are: "fetchByKeys", "fetchByOffset", and "sort" Returns:
capability information or null if unsupported- Type
- Object
-
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 eventTypestring The event type to remove listener from. listenerEventListener The event listener to remove.