Ext.data.ArrayReader
Hierarchy
Ext.data.DataReaderExt.data.JsonReaderExt.data.ArrayReaderFiles
Data reader class to create an Array of Ext.data.Record objects from an Array.
Each element of that Array represents a row of data fields. The
fields are pulled into a Record object using as a subscript, the mapping property
of the field definition if it exists, or the field's ordinal position in the definition.
Example code:
var Employee = Ext.data.Record.create([
{name: 'name', mapping: 1}, // "mapping" only needed if an "id" field is present which
{name: 'occupation', mapping: 2} // precludes using the ordinal position as the index.
]);
var myReader = new Ext.data.ArrayReader({
idIndex: 0
}, Employee);
This would consume an Array like this:
[ [1, 'Bill', 'Gardener'], [2, 'Ben', 'Horticulturalist'] ]
Available since: 1.1.0
Config options
Either an Array of Field definition objects (which will be passed to Ext.data.Record.create, or a Record constructor created from Ext.data.Record.create.
Available since: Ext JS 3.4.0
(optional) The subscript within row Array that provides an ID for the Record. Deprecated. Use idIndex instead.
Available since: 1.1.0
(optional) The subscript within row Array that provides an ID for the Record.
(optional) The subscript within row Array that provides an ID for the Record.
Available since: Ext JS 3.4.0
[id] Name of the property within a row object that contains a record identifier value. Defaults to id
Available since: Ext JS 3.4.0
[undefined] Optional name of a property within a server-response that represents a user-feedback message.
[undefined] Optional name of a property within a server-response that represents a user-feedback message.
Available since: Ext JS 3.4.0
[undefined] Required. The name of the property which contains the Array of row objects. Defaults to undefined. An exception will be thrown if the root property is undefined. The data packet value for this property should be an empty array to clear the data or show no data.
Available since: 1.1.0
[total] Name of the property from which to retrieve the total number of records in the dataset. This is only needed if the whole dataset is not passed in one go, but is being paged from the remote server. Defaults to total.
Available since: 1.1.0
Properties
After any data loads, the raw JSON data is available for further custom processing. If no data is loaded or there is a load exception this property will be undefined.
Available since: 1.1.0
This JsonReader's metadata as passed to the constructor, or as passed in the last data packet's metaData property.
This JsonReader's metadata as passed to the constructor, or as passed in the last data packet's metaData property.
Available since: 2.3.0
Overrides: Ext.data.DataReader.meta
Methods
Create a new ArrayReader
Available since: 1.1.0
Parameters
- meta : Object
Metadata configuration options.
- recordType : Array/Object
Either an Array of Field definition objects (which will be passed to Ext.data.Record.create, or a Record constructor created from Ext.data.Record.create.
Returns
Overrides: Ext.data.JsonReader.constructor
Abstract method, overridden in DataReader extensions such as Ext.data.JsonReader and Ext.data.XmlReader
Available since: Ext JS 3.4.0
returns extracted, type-cast rows of data. Iterates to call extractValues for each row
Available since: Ext JS 3.4.0
Parameters
- data-root : Object[]/Object
from server response
- returnRecords : Boolean
[false] Set true to return instances of Ext.data.Record
type-casts a single row of raw-data from server
Available since: Ext JS 3.4.0
Parameters
- data : Object
- items : Array
- len : Integer
Overrides: Ext.data.DataReader.extractValues
Abstract method created in extension's buildExtractors impl.
Available since: Ext JS 3.4.0
Abstract method created in extension's buildExtractors impl.
Available since: Ext JS 3.4.0
Abstract method created in extension's buildExtractors impl.
Available since: Ext JS 3.4.0
Abstract method created in extension's buildExtractors impl.
Available since: Ext JS 3.4.0
Abstract method created in extension's buildExtractors impl.
Available since: Ext JS 3.4.0
Returns true if the supplied data-hash looks and quacks like data. Checks to see if it has a key corresponding to idProperty defined in your DataReader config containing non-empty pk.
Available since: Ext JS 3.4.0
Parameters
- data : Object
Returns
- Boolean
This method is only used by a DataProxy which has retrieved data from a remote server.
Available since: 1.1.0
Parameters
- response : Object
The XHR object which contains the JSON data in its responseText.
Returns
- Object
data A data block which is used by an Ext.data.Store object as a cache of Ext.data.Records.
Create a data block containing Ext.data.Records from an Array.
Available since: 1.1.0
Parameters
- o : Object
An Array of row objects which represents the dataset.
Returns
- Object
data A data block which is used by an Ext.data.Store object as a cache of Ext.data.Records.
Overrides: Ext.data.JsonReader.readRecords
Decode a JSON response from server.
Available since: Ext JS 3.4.0
Parameters
- action : String
[Ext.data.Api.actions.create|read|update|destroy]
- response : Object
The XHR object returned through an Ajax server request.
Returns
- Response
A Response object containing the data response, and also status information.
Used for un-phantoming a record after a successful database insert. Sets the records pk along with new data from server. You must return at least the database pk using the idProperty defined in your DataReader configuration. The incoming data from server will be merged with the data in the local record. In addition, you must return record-data from the server in the same order received. Will perform a commit as well, un-marking dirty-fields. Store's "update" event will be suppressed.
Available since: Ext JS 3.4.0
Parameters
- record : Record/Record[]
The phantom record to be realized.
- data : Object/Object[]
The new record data to apply. Must include the primary-key from database defined in idProperty field.
Used for updating a non-phantom or "real" record's data with fresh data from server after remote-save. If returning data from multiple-records after a batch-update, you must return record-data from the server in the same order received. Will perform a commit as well, un-marking dirty-fields. Store's "update" event will be suppressed as the record receives fresh new data-hash
Available since: Ext JS 3.4.0
Parameters
- rs : Record/Record[]
- data : Object/Object[]