Class: FlattenedTreeDataGridDataSource

Oracle® JavaScript Extension Toolkit (JET)
3.2.0

E87541-01

QuickNav

oj. FlattenedTreeDataGridDataSource extends oj.FlattenedTreeDataSource

Version:
  • 3.2.0

Constructor

new FlattenedTreeDataGridDataSource(treeDataSource, options)

The DataGrid specific implementation of the FlattenedTreeDataSource class.
Parameters:
Name Type Argument Description
treeDataSource Object the instance of TreeDataSource to flattened
options Object <optional>
the options set on this data source
Properties
Name Type Argument Description
expanded Array | string <optional>
an array of the initial row keys that should be expanded, if all rows are expanded to start, specify the string 'all'
columns Array <optional>
an array of columns to return as column headers
rowHeader string the key of the attribute designated as the row header
Source:

Methods

collapse(rowKey)

Collapse the specified row.
Parameters:
Name Type Description
rowKey Object the key of the row to collapse
Inherited From:
Source:

Destroy()

Destroy the data source.
Inherited From:
Source:

expand(rowKey)

Expand the specified row.
Parameters:
Name Type Description
rowKey Object the key of the row to expand
Inherited From:
Source:

#fetchCells(cellRanges, callbacks, callbackObjects)

Fetch a range of cells from the data source.
Parameters:
Name Type Argument Description
cellRanges Array.<Object> Information about the cell range. A cell range is defined by an array of range info for each axis, where each range contains three properties: axis, start, count.
Properties
Name Type Description
axis string the axis associated with this range where cells are fetched. Valid values are "row" and "column".
start number the start index of the range for this axis in which the cells are fetched.
count number the size of the range for this axis in which the cells are fetched.
callbacks Object the callbacks to be invoke when fetch cells operation is completed. The valid callback types are "success" and "error".
Properties
Name Type Description
success function(oj.CellSet) the callback to invoke when fetch cells completed successfully.
error function({status: Object}) the callback to invoke when fetch cells failed.
callbackObjects Object <optional>
the object in which the callback function is invoked on. This is optional. You can specify the callback object for each callbacks using the "success" and "error" keys.
Source:

#fetchHeaders(headerRange, callbacks, callbackObjects)

Fetch a range of headers from the data source.
Parameters:
Name Type Argument Description
headerRange Object information about the header range, it must contain the following properties: axis, start, count.
Properties
Name Type Description
axis string the axis of the header that are fetched. Valid values are "row" and "column".
start number the start index of the range in which the header data are fetched.
count number the size of the range in which the header data are fetched.
callbacks Object the callbacks to be invoke when fetch headers operation is completed. The valid callback types are "success" and "error".
Properties
Name Type Description
success function(HeaderSet, headerRange, endHeaderSet) the callback to invoke when fetch headers completed successfully. The function takes three paramaters: HeaderSet object representing start headers, headerRange object passed into the original fetchHeaders call, and a HeaderSet object representing the end headers along the axis.
error function({status: Object}) the callback to invoke when fetch cells failed.
callbackObjects Object <optional>
the object in which the callback function is invoked on. This is optional. You can specify the callback object for each callbacks using the "success" and "error" keys.
Source:

#getCapability(feature) → {string|null}

Determines whether this DataGridDataSource supports certain feature.
Parameters:
Name Type Description
feature string the feature in which its capabilities is inquired. Currently the only valid feature is "sort".
Source:
Returns:
the name of the feature. For "sort", the valid return values are: "full", "none", "row", "column". Returns null if the feature is not recognized.
Type
string | null

getChildCount(parent) → {number}

Returns the number of children for a specified parent. If the value returned is not >= 0 then it is automatically assumed that the child count is unknown.
Parameters:
Name Type Description
parent Object the parent key. Specify null if inquiring child count of the root.
Inherited From:
Source:
Returns:
the number of children for the specified parent.
Type
number

#getCount(axis) → {number}

Returns the total number of rows or columns. If the value return is not >= 0 then it is automatically assumed that the total count is unknown.
Parameters:
Name Type Description
axis string the axis in which we inquire for the total count. Valid values are "row" and "column".
Source:
Returns:
the total number of rows/columns.
Type
number

getCountPrecision(axis) → {string}

Returns whether the total count returned in getCount function is an actual or an estimate.
Parameters:
Name Type Description
axis string the axis in which we inquire whether the total count is an estimate. Valid values are "row" and "column".
Source:
Returns:
"exact" if the count returned in getCount function is the actual count, "estimate" if the count returned in getCount function is an estimate. The default value is "exact".
Type
string

getExpandedKeys() → {Array.<Object>|string}

Retrieves the expanded row keys
Inherited From:
Source:
Returns:
an array of expanded row keys or 'all' if all rows are expanded.
Type
Array.<Object> | string

getOption(option) → {Object}

Retreives the value of the specified option.
Parameters:
Name Type Description
option string the option to retrieve the value.
Inherited From:
Source:
Returns:
the value of the specified option. Returns null if the value is null or if the option is not recognized.
Type
Object

getSortCriteria() → {Object}

Returns the current sort criteria of the tree data.
Inherited From:
Source:
Returns:
the current sort criteria. It should contain the following properties: key, direction where criteria.key the key identifying the attribute (column) to sort on. Value is null if it's not sorted. criteria.direction the sort direction, valid values are "ascending", "descending", "none" (default)
Type
Object

getWrappedDataSource() → {Object}

Retrieves the underlying TreeDataSource.
Inherited From:
Source:
Returns:
the underlying oj.TreeDataSource.
Type
Object

handleEvent(eventType, event) → {boolean}

Handle the event
Parameters:
Name Type Description
eventType string event type
event Object event
Inherited From:
Source:
Returns:
Returns false if event is cancelled
Type
boolean

#indexes(keys) → {Promise}

Returns the row and column index based on the keys.
Parameters:
Name Type Description
keys Object the key for each axis
Properties
Name Type Description
row Object the key for the row axis
column Object the key for the column axis
Source:
Returns:
a promise object containing the index for each axis, or null if not found
Type
Promise

Init()

Initializes the data source.
Source:

#keys(indexes) → {Promise}

Returns the keys based on the indexes.
Parameters:
Name Type Description
indexes Object the index for each axis
Properties
Name Type Description
row Object the index for the row axis
column Object the index for the column axis
Source:
Returns:
a Promise object which upon resolution will pass in an object containing the keys for each axis, or null if not found
Type
Promise

#move(rowToMove, referenceRow, position)

Moves a row from one location to another (different position within the same parent or a completely different parent)
Parameters:
Name Type Description
rowToMove Object the key of the row to move
referenceRow Object the key of the reference row which combined with position are used to determine the destination of where the row should moved to.
position number | string The position of the moved row relative to the reference row. Valid values are: "before", "after".
callbacks.success function() the callback to invoke when the move completed successfully.
callbacks.error function({status: Object}) the callback to invoke when move failed.
Source:

moveOK(rowToMove, referenceRow, position) → {string}

Checks whether a move operation is valid.
Parameters:
Name Type Description
rowToMove Object the key of the row to move
referenceRow Object the key of the reference row which combined with position are used to determine the destination of where the row should moved to.
position number | string The position of the moved row relative to the reference row. This can be a string: "before", "after", "inside", "first", "last", or the zero based index to position the element at a specific point among the reference row's current children.
Inherited From:
Source:
Returns:
returns "valid" if the move is valid, "invalid" otherwise.
Type
string

off(eventType, eventHandler)

Detach an event handler
Parameters:
Name Type Description
eventType string eventType
eventHandler function(Object) event handler function
Inherited From:
Source:

on(eventType, eventHandler)

Attach an event handler
Parameters:
Name Type Description
eventType string eventType
eventHandler function(Object) event handler function
Inherited From:
Source:

#sort(criteria, callbacks, callbackObjects)

Performs a sort on the data source.
Parameters:
Name Type Argument Description
criteria Object the sort criteria.
Properties
Name Type Description
axis string The axis in which the sort is performed, valid values are "row", "column"
key Object The key that identifies which header to sort
direction string the sort direction, valid values are "ascending", "descending", "none" (default)
callbacks Object the callbacks to be invoke upon completion of the sort operation. The callback properties are "success" and "error".
Properties
Name Type Description
success function() the callback to invoke when the sort completed successfully.
error function({status: Object}) the callback to invoke when sort failed.
callbackObjects Object <optional>
the object in which the callback function is invoked on. This is optional. You can specify the callback object for each callbacks using the "success" and "error" properties.
Source:

Non-public Methods

<protected> _fetchRowsFromChildren(range)

Fetch a range of rows from the underlying TreeDataSource.
Parameters:
Name Type Description
range Object the range of rows to fetch. This is the range in a flattened view.
Properties
Name Type Description
start number the start of the range in a flattened view
count number the number of rows to fetch
Inherited From:
Source:

<protected> _fetchRowsFromDescendants(range)

Fetch a range of rows from the underlying TreeDataSource using the fetchDescendants method.
Parameters:
Name Type Description
range Object the range of rows to fetch. This is the range in a flattened view.
Properties
Name Type Description
start number the start of the range in a flattened view
count number the number of rows to fetch
Inherited From:
Source:

<protected> fetchRows(range)

Fetch a range of rows from the underlying data source. This is a convenient method that the subclasses should use to fetch from the underlying TreeDataSource. This method will take care of the index mapping between a flattened range to tree indexes.
Parameters:
Name Type Description
range Object the range of rows to fetch. This is the range in a flattened view.
Properties
Name Type Description
start number the start of the range in a flattened view
count number the number of rows to fetch
Inherited From:
Source:

<protected> getAncestors(rowKey) → {Array}

Returns the key of the ancestors.
Parameters:
Name Type Description
rowKey Object the row key to find the ancestors.
Inherited From:
Source:
Returns:
an array of the key of the ancestors from root to the row with specified row key.
Type
Array

<protected> getFetchedRange() → {Object}

Returns the currently fetched range.
Inherited From:
Source:
Returns:
the fetched range (start, end).
Type
Object

<protected> getFetchSize() → {number}

Retrieves the fetch size
Inherited From:
Source:
Returns:
the fetch size
Type
number

<protected> getIndex(rowKey) → {number}

Determine the flattened index for the specified key
Parameters:
Name Type Description
rowKey Object the key to find the index
Inherited From:
Source:
Returns:
the index representing the specified key. Returns -1 if the index cannot be found.
Type
number

<protected> getKey(index) → {Object|null}

Determines the key for the specified flattened index
Parameters:
Name Type Description
index number the index in flattened view
Inherited From:
Source:
Returns:
the key for the specified index. Returns null if the index has not been fetched yet or is invalid.
Type
Object | null

<protected> getMaxCount() → {number}

Retrieves the max count
Inherited From:
Source:
Returns:
the max count
Type
number

<protected> handleExpandError(rowKey, status)

Callback method to handle fetch error on expand operation.
Parameters:
Name Type Description
rowKey Object the key of the expanded row
status Object the error status
Inherited From:
Source:

<protected> handleExpandSuccess(rowKey, nodeSet, childCount, options)

Callback method to handle fetch success on expand operation.
Parameters:
Name Type Argument Description
rowKey Object the key of the expanded row
nodeSet Object the node set that describes the children of the expanded row
childCount number the total number of children the expanded row has
options Object <optional>
optional parameters to the method
Properties
Name Type Argument Description
queue Object <optional>
a queue of expanded rows remaining to process (depth first traversal)
prevNodeSetInfo.nodeSet Object <optional>
the node set from a previous expand call
prevNodeSetInfo.firstIndex number <optional>
the ref index for the FIRST expand call, this is needed when firing the insert event, where the insertion point is the first index
prevNodeSetInfo.firstKey Object <optional>
the ref row key for the FIRST expand call, this is needed when firing the insert event, where the insertion point is the first row key
Inherited From:
Source:

<protected> handleMaxCountReached(range)

Handles the case when the maximum number of rows have been reached
Parameters:
Name Type Description
range Object the range of the fetch request that cause the max count to be reached
Properties
Name Type Description
start number the start index of the range
count number the count of the range
Source:

<protected> insertMetadata(key, metadata)

A hook for FlattenedTreeDataSource to inject additional metadata into the NodeSet
Parameters:
Name Type Description
key Object the row key identifying the row
metadata Object the existing metadata to inject into
Source:

<protected> insertRows(insertAtIndex, insertAtRowKey, nodeSet)

Implementation of abstract method to insert a set of rows into the DataGrid
Parameters:
Name Type Description
insertAtIndex number the flattened index of the node where the rows are inserted.
insertAtRowKey Object the key of the node where the rows are inserted (the parent key)
nodeSet Object the node set containing data/metadata of inserted rows
Source:

<protected> refresh()

Refresh the data source. Clear out any state.
Inherited From:
Source:

<protected> removeRows(rowKeys)

Implementation of bstract method to remove the specified rows in the DataGrid
Parameters:
Name Type Description
rowKeys Array.<Object> an array of keys of the rows to be remove.
Source: