--- /dev/null
+<html><head><title>/home/alan/gitlive/roojs1/Roo/data/JsonReader.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.JsonReader
+ * @extends Roo.data.DataReader
+ * Data reader class to create an Array of Roo.data.Record objects from a JSON response
+ * based on mappings in a provided Roo.data.Record constructor.
+ *
+ * The default behaviour of a store is to send ?_requestMeta=1, unless the class has recieved 'metaData' property
+ * in the reply previously.
+ *
+ * <p>
+ * Example code:
+ * <pre><code>
+var RecordDef = Roo.data.Record.create([
+ {name: 'name', mapping: 'name'}, // "mapping" property not needed if it's the same as "name"
+ {name: 'occupation'} // This field will use "occupation" as the mapping.
+]);
+var myReader = new Roo.data.JsonReader({
+ totalProperty: "results", // The property which contains the total dataset size (optional)
+ root: "rows", // The property which contains an Array of row objects
+ id: "id" // The property within each row object that provides an ID for the record (optional)
+}, RecordDef);
+</code></pre>
+ * <p>
+ * This would consume a JSON file like this:
+ * <pre><code>
+{ 'results': 2, 'rows': [
+ { 'id': 1, 'name': 'Bill', occupation: 'Gardener' },
+ { 'id': 2, 'name': 'Ben', occupation: 'Horticulturalist' } ]
+}
+</code></pre>
+ * @cfg {String} totalProperty 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.
+ * @cfg {String} successProperty Name of the property from which to retrieve the success attribute used by forms.
+ * @cfg {String} root name of the property which contains the Array of row objects.
+ * @cfg {String} id Name of the property within a row object that contains a record identifier value.
+ * @cfg {Array} fields Array of field definition objects
+ * @constructor
+ * Create a new JsonReader
+ * @param {Object} meta Metadata configuration options
+ * @param {Object} recordType Either an Array of field definition objects,
+ * or an {@link Roo.data.Record} object created using {@link Roo.data.Record#create}.
+ */
+</span><span class="jsdoc-var">Roo.data.JsonReader </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">meta </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">meta </span><span class="jsdoc-syntax">|| {};
+ </span><span class="jsdoc-comment">// set some defaults:
+ </span><span class="jsdoc-var">Roo.applyIf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">meta</span><span class="jsdoc-syntax">, {
+ </span><span class="jsdoc-var">totalProperty</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'total'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">successProperty </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'success'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">root </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'data'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'id'
+ </span><span class="jsdoc-syntax">});
+
+ </span><span class="jsdoc-var">Roo.data.JsonReader.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.JsonReader</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.data.DataReader</span><span class="jsdoc-syntax">, {
+
+ </span><span class="jsdoc-comment">/**
+ * @prop {Boolean} metaFromRemote - if the meta data was loaded from the remote source.
+ * Used by Store query builder to append _requestMeta to params.
+ *
+ */
+ </span><span class="jsdoc-var">metaFromRemote </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * This method is only used by a DataProxy which has retrieved data from a remote server.
+ * @param {Object} response The XHR object which contains the JSON data in its responseText.
+ * @return {Object} data A data block which is used by an Roo.data.Store object as
+ * a cache of Roo.data.Records.
+ */
+ </span><span class="jsdoc-var">read </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">response</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">json </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">response.responseText</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-comment">/* eval:var:o */ </span><span class="jsdoc-keyword">eval</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"("</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">json</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">")"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">throw </span><span class="jsdoc-syntax">{</span><span class="jsdoc-var">message</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"JsonReader.read: Json object not found"</span><span class="jsdoc-syntax">};
+ }
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.metaData</span><span class="jsdoc-syntax">){
+
+ </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.ef</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.metaFromRemote </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.meta </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.metaData</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.recordType </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.data.Record.create</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.metaData.fields</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.onMetaChange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.meta</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.recordType</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.readRecords</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-comment">// private function a store will implement
+ </span><span class="jsdoc-var">onMetaChange </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">o</span><span class="jsdoc-syntax">){
+
+ },
+
+ </span><span class="jsdoc-comment">/**
+ * @ignore
+ */
+ </span><span class="jsdoc-var">simpleAccess</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">subsc</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">subsc</span><span class="jsdoc-syntax">];
+ },
+
+ </span><span class="jsdoc-comment">/**
+ * @ignore
+ */
+ </span><span class="jsdoc-var">getJsonAccessor</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">re </span><span class="jsdoc-syntax">= /[\[\.]/;
+ </span><span class="jsdoc-keyword">return function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">expr</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">try </span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">re.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">expr</span><span class="jsdoc-syntax">))
+ ? </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"obj"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"return obj." </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">expr</span><span class="jsdoc-syntax">)
+ : </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">expr</span><span class="jsdoc-syntax">];
+ };
+ } </span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){}
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.emptyFn</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 object which contains an Array of row objects in the property specified
+ * in the config as 'root, and optionally a property, specified in the config as 'totalProperty'
+ * which contains the total size of the dataset.
+ * @return {Object} data A data block which is used by an 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-comment">/**
+ * After any data loads, the raw JSON data is available for further custom processing.
+ * @type Object
+ */
+ </span><span class="jsdoc-var">this.o </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">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.meta</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Record </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.recordType</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Record </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">Record.prototype.fields </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fi </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">f.items </span><span class="jsdoc-syntax">: [], </span><span class="jsdoc-var">fl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">f.length </span><span class="jsdoc-syntax">: 0;
+
+</span><span class="jsdoc-comment">// Generate extraction functions for the totalProperty, the root, the id, and for each field
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.ef</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.totalProperty</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">this.getTotal </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getJsonAccessor</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.totalProperty</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.successProperty</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">this.getSuccess </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getJsonAccessor</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.successProperty</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">this.getRoot </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">s.root </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.getJsonAccessor</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.root</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">){</span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">;};
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.id</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">g </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getJsonAccessor</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.id</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.getId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rec</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rec</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-keyword">null </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">;
+ };
+ } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">this.getId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){</span><span class="jsdoc-keyword">return null</span><span class="jsdoc-syntax">;};
+ }
+ </span><span class="jsdoc-var">this.ef </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">jj </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">jj </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">fl</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">jj</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fi</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">jj</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">map </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">f.name</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.ef</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">jj</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">this.getJsonAccessor</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">map</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">this.getRoot</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">root.length</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">totalRecords </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">success </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.totalProperty</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">vt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getTotal</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">), 10);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">isNaN</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">vt</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">totalRecords </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">vt</span><span class="jsdoc-syntax">;
+ }
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.successProperty</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">vs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getSuccess</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">vs </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">vs </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'false'</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">success </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</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">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">c</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">this.getId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</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">j </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">fl</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fi</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">this.ef</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">](</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">f.convert</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'missing convert for ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">f.name</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">continue</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">f.convert</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">f.defaultValue</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">Record</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">i</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">raw </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">success </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">success</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">totalRecords
+ </span><span class="jsdoc-syntax">};
+ }
+});</span></code></body></html>
\ No newline at end of file