/** * @class Ext.data.Range * @extend Ext.Base * * This class provides access to a range of records in a {@link Ext.data.Store store}. * Instances of this class are not created directly but are rather returned by a store's * {@link Ext.data.AbstractStore#createActiveRange createActiveRange} method. * * This class is useful for buffered rendering where only a portion of the total set of * records are needed. By passing that information to a `Range`, the access to records * can be abstracted even across {@link Ext.data.virtual.Store virtual stores} where * only those records needed by views are fetched from the server. * @since 6.5.0 */ /** * @cfg {Number} [begin=0] * The first record index of interest. * * This property is set by the `goto` method and is stored on the instance for * readonly use. * @readonly */ /** * @cfg {Number} [buffer=0] * The buffer to execute server requests. */ /** * @cfg {Number} [end=0] * The first record beyond the range of interest. This is to make "length" of the * range simply `end - begin`. * * This property is set by the `goto` method and is stored on the instance for * readonly use. */ /** * @property (Number} [length=0] * The number of records in the range of `[begin, end)`. This is equal to the * difference `end - begin`. * * This property is maintained by the `goto` method and is stored on the instance for * readonly use. * @readonly */ /** * @property {Ext.data.Model[]} records * The records corresponding to the `begin` and `end` of this range. For normal * stores this is the standard array of records. * * For a {@link Ext.data.virtual.Store virtual store} this is a sparse object of * available records bounded by the limits of this range. * * In all cases, this object is keyed by the record index and (except for the * `length` property) should be treated as an array. * @readonly */ /** * @cfg {Ext.data.AbstractStore} store * The associated store. This config must be supplied at construction and cannot * be changed after that time. * @readonly */