/**
* Copyright (c) 2015, Oracle and/or its affiliates.
* All rights reserved.
*/
/**
* A HeaderSet represents a collection of headers. The HeaderSet is an object returned by the success callback
* of the fetchHeaders method on DataGridDataSource. This is a paging specific implementation of the HeaderSet.
* @param {Object} headerSet an headerSet object
* @param {number} startIndex the true startIndex of the headerSet
* @constructor
* @export
*/
oj.PagingHeaderSet = function(headerSet, startIndex)
{
this.m_headerSet = headerSet;
this.m_startIndex = startIndex;
};
/**
* Gets the data of the specified index. An error is throw when 1) the range is not yet available and
* 2) the index specified is out of bounds.
* @param {number} index the absolute index of the header in which we want to retrieve the header from.
* @param {number=} level the level of the header, 0 is the outermost header and increments by 1 moving inward
* @return {Object} the data object for the specific index.
* @export
*/
oj.PagingHeaderSet.prototype.getData = function(index, level)
{
return this.m_headerSet.getData(index + this.m_startIndex, level);
};
/**
* Gets the metadata of the specified index. An error is throw when 1) the range is not yet available and
* 2) the index specified is out of bounds.
* The metadata that the data source can optionally return are:
* 1) sortDirection - the initial sort direction of the header. Valid values are "ascending" and "descending".
* 2) key - the key of the row/column header.
* @param {number} index the absolute index of the header in which we want to retrieve the metadata from.
* @param {number=} level the level of the header, 0 is the outermost header and increments by 1 moving inward
* @return {Object} the metadata object for the specific index.
* @export
*/
oj.PagingHeaderSet.prototype.getMetadata = function(index, level)
{
return this.m_headerSet.getMetadata(index + this.m_startIndex, level);
};
/**
* Gets the actual count of the result set, the total indexes spanned by the headerSet
* along the innermost header.
* @return {number} the actual count of the result set.
* @export
*/
oj.PagingHeaderSet.prototype.getCount = function()
{
return this.m_headerSet.getCount();
};
/**
* Gets the actual number of levels of the result set for the specified axis. The levels
* are the counted from the outermost header indexed at 0, and moving inwards toward the
* databody would increment the level by 1.
* @return {number} the number of levels of the result set
* @export
*/
oj.PagingHeaderSet.prototype.getLevelCount = function()
{
return this.m_headerSet.getLevelCount();
};
/**
* Gets the extent of an index on a particular level within the context of the headerSet. Extent is defined as the
* number of indexes covered by the header. If the extent extends beyond the start and end of the requested
* range the extent should be trimmed to the edge of the requested range and the object for {'more': {before, after}}
* should have the value appropriate boolean set. For innermost headers the extent will always be 1.
* @param {number} index the absolute index along the innermost header of the extent to get, 0 is the first header in the data source
* @param {number=} level the level of the header, 0 is the outermost header and increments by 1 moving inward
* @return {Object} an object containing two values
* extent: the number of absolute indexes spanned by the header at this index
* bounded by the edges of the result set for the specified axis.
* more: object with keys 'before'/'after' and boolean values true/false representing whether
* there are more indexes before/after what is in the headerSet
* @example <caption>In this example the header spans 5 indexes and there are more indexes to cover after the request that
* aren't included in this headerSet:</caption>
* {'extent':5, 'more': {'before':false, 'after':true}}
* @export
*/
oj.PagingHeaderSet.prototype.getExtent = function(index, level)
{
return this.m_headerSet.getExtent(index, level);
};
/**
* Gets the depth of an index starting at a particular level. The depth is the number
* of levels spanned by the header.
* @param {number} index the absolute index of the depth to get
* @param {number=} level the level of the header, 0 is the outermost header
* @return {number} the number of levels spanned by the header at the specified position
* @export
*/
oj.PagingHeaderSet.prototype.getDepth = function(index, level)
{
return this.m_headerSet.getDepth(index, level);
};
/**
* For internal testing purposes. Gets the underlying headerSet.
* @return {Object} the underlying headerSet
* @export
* @ignore
*/
oj.PagingHeaderSet.prototype.getHeaderSet = function()
{
return this.m_headerSet;
};
/**
* For internal testing purposes. Gets the start index.
* @return {number} the start index
* @export
* @ignore
*/
oj.PagingHeaderSet.prototype.getStartIndex = function()
{
return this.m_startIndex;
};
Source: src/main/javascript/oracle/oj/ojdatagrid/PagingHeaderSet.js
Oracle® JavaScript Extension Toolkit (JET)
1.1.2
E65298-01