Class: ArrayDataProvider

Oracle® JavaScript Extension Toolkit (JET)
4.2.0

E91398-01

QuickNav

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

oj. ArrayDataProvider

Version:
  • 4.2.0
This class implements oj.DataProvider. Object representing data available from an array. This dataprovider can be used by ListView, NavigationList, TabBar, and Table.

See the Table - Base Table demo for an example.

The default sorting algorithm used when a sortCriteria is passed into fetchFirst is natural sort.

Constructor

new ArrayDataProvider(data, options)

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 Argument Description
data Array | function():Array data supported by the components

This can be either an Array, or a Knockout observableArray.

options Object <optional>
Options for the ArrayDataProvider
Properties
Name Type Argument Description
sortComparators oj.SortComparators <optional>
Optional oj.sortComparator to use for sort.
implicitSort Array.<oj.SortCriterion> <optional>
Optional array of oj.sortCriterion used to specify sort information when the data loaded into the dataprovider is already sorted.
keys Array | function():Array <optional>
Optional keys for the data. If not supplied, then the keys are generated according options.idAttribute. If that is also not supplied then index is used as key.
idAttribute string | Array.<string> <optional>
Optionally the field name which stores the id in the data. Can be a string denoting a single key attribute or an array of strings for multiple key attributes. @index causes ArrayDataProvider to use index as key and @value will cause ArrayDataProvider to use all attributes as key. @index is the default.
Example
// First initialize an array
var deptArray = [{DepartmentId: 10, DepartmentName: 'Administration', LocationId: 200},
                 {DepartmentId: 20, DepartmentName: 'Marketing', LocationId: 200},
                 {DepartmentId: 30, DepartmentName: 'Purchasing', LocationId: 200}];
// Then create an ArrayDataProvider object with the array
var dataprovider = new oj.ArrayDataProvider(deptArray, {idAttribute: 'DepartmentId'});

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.

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) → {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
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 event has been cancelled and true otherwise.
Type
boolean

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 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
params oj.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
params oj.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
params oj.FetchListParameters <optional>
Fetch parameters
See:
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
capabilityName string 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() → {string}

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 a fetch is made.
Type
string

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.

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.