| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | <!DOCTYPE html><html><head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>The source code</title>  <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />  <script type="text/javascript" src="../resources/prettify/prettify.js"></script>  <style type="text/css">    .highlight { display: block; background-color: #ddd; }  </style>  <script type="text/javascript">    function highlight() {      document.getElementById(location.hash.replace(/#/, "")).className = "highlight";    }  </script></head><body onload="prettyPrint(); highlight();">  <pre class="prettyprint lang-js"><span id='Ext-data-reader-Array-method-constructor'><span id='Ext-data-reader-Array'>/**</span></span> * @author Ed Spencer * @class Ext.data.reader.Array *  * <p>Data reader class to create an Array of {@link Ext.data.Model} 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 <code>mapping</code> property * of the field definition if it exists, or the field's ordinal position in the definition.</p> *  * <p><u>Example code:</u></p> * <pre><code>Employee = Ext.define('Employee', {    extend: 'Ext.data.Model',    fields: [        'id',        {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.reader.Array({    model: 'Employee'}, Employee);</code></pre> *  * <p>This would consume an Array like this:</p> * <pre><code>[ [1, 'Bill', 'Gardener'], [2, 'Ben', 'Horticulturalist'] ]</code></pre> *  * @constructor * Create a new ArrayReader * @param {Object} meta Metadata configuration options. */Ext.define('Ext.data.reader.Array', {    extend: 'Ext.data.reader.Json',    alternateClassName: 'Ext.data.ArrayReader',    alias : 'reader.array',    // For Array Reader, methods in the base which use these properties must not see the defaults    totalProperty: undefined,    successProperty: undefined,<span id='Ext-data-reader-Array-method-createFieldAccessExpression'>    /**</span>     * @private     * Returns an accessor expression for the passed Field from an Array using either the Field's mapping, or     * its ordinal position in the fields collsction as the index.     * This is used by buildExtractors to create optimized on extractor function which converts raw data into model instances.     */    createFieldAccessExpression: function(field, fieldVarName, dataName) {            // In the absence of a mapping property, use the original ordinal position            // at which the Model inserted the field into its collection.        var index  = (field.mapping == null) ? field.originalIndex : field.mapping,            result;        if (typeof index === 'function') {            result = fieldVarName + '.mapping(' + dataName + ', this)';        } else {            if (isNaN(index)) {                index = '"' + index + '"';            }            result = dataName + "[" + index + "]";        }        return result;    }});</pre></body></html>
 |