+++ /dev/null
-<html><head><title>/home/alan/gitlive/roojs1/Roo/data/ArrayReader.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
- * Based on:
- * Ext JS Library 1.1.1
- * Copyright(c) 2006-2007, Ext JS, LLC.
- *
- * Originally Released Under LGPL - original licence link has changed is not relivant.
- *
- * Fork - LGPL
- * <script type="text/javascript">
- */
-
-/**
- * @class Roo.data.ArrayReader
- * @extends Roo.data.DataReader
- * Data reader class to create an Array of Roo.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 <em>mapping</em> property
- * of the field definition if it exists, or the field's ordinal position in the definition.<br>
- * <p>
- * Example code:.
- * <pre><code>
-var RecordDef = Roo.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 Roo.data.ArrayReader({
- id: 0 // The subscript within row Array that provides an ID for the Record (optional)
-}, RecordDef);
-</code></pre>
- * <p>
- * This would consume an Array like this:
- * <pre><code>
-[ [1, 'Bill', 'Gardener'], [2, 'Ben', 'Horticulturalist'] ]
- </code></pre>
-
- * @constructor
- * Create a new JsonReader
- * @param {Object} meta Metadata configuration options.
- * @param {Object|Array} recordType Either an Array of field definition objects
- *
- * @cfg {Array} fields Array of field definition objects
- * @cfg {String} id Name of the property within a row object that contains a record identifier value.
- * as specified to {@link Roo.data.Record#create},
- * or an {@link Roo.data.Record} object
- *
- *
- * created using {@link Roo.data.Record#create}.
- */
-</span><span class="jsdoc-var">Roo.data.ArrayReader </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">meta</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">recordType</span><span class="jsdoc-syntax">){
-
-
- </span><span class="jsdoc-var">Roo.data.ArrayReader.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">meta</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">recordType</span><span class="jsdoc-syntax">||</span><span class="jsdoc-var">meta.fields</span><span class="jsdoc-syntax">);
-};
-
-</span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.data.ArrayReader</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.data.JsonReader</span><span class="jsdoc-syntax">, {
- </span><span class="jsdoc-comment">/**
- * Create a data block containing Roo.data.Records from an XML document.
- * @param {Object} o An Array of row objects which represents the dataset.
- * @return {Object} A data block which is used by an {@link Roo.data.Store} object as
- * a cache of Roo.data.Records.
- */
- </span><span class="jsdoc-var">readRecords </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.meta </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.meta.id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">recordType </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.recordType</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fields </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">recordType.prototype.fields</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">records </span><span class="jsdoc-syntax">= [];
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">root </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">root.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">root</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">values </span><span class="jsdoc-syntax">= {};
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">= ((</span><span class="jsdoc-var">sid </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">sid </span><span class="jsdoc-syntax">=== 0) && </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">sid</span><span class="jsdoc-syntax">] !== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">sid</span><span class="jsdoc-syntax">] !== </span><span class="jsdoc-string">"" </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">sid</span><span class="jsdoc-syntax">] : </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">jlen </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fields.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">jlen</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">++){
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fields.items</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">];
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f.mapping </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">f.mapping </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">null </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">f.mapping </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">] !== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">] : </span><span class="jsdoc-var">f.defaultValue</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f.convert</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f.name</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
- }
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">record </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">recordType</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">record.json </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">records</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">records.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">;
- }
- </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
- </span><span class="jsdoc-var">records </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">records</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">totalRecords </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">records.length
- </span><span class="jsdoc-syntax">};
- }
-});</span></code></body></html>
\ No newline at end of file