1 <html><head><title>Roo/data/MemoryProxy.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">/*
4 * Copyright(c) 2006-2007, Ext JS, LLC.
6 * Originally Released Under LGPL - original licence link has changed is not relivant.
9 * <script type="text/javascript">
12 * @class Roo.data.MemoryProxy
13 * @extends Roo.data.DataProxy
14 * An implementation of Roo.data.DataProxy that simply passes the data specified in its constructor
15 * to the Reader when its load method is called.
17 * @param {Object} config A config object containing the objects needed for the Store to access data,
19 </span><span class="jsdoc-var">Roo.data.MemoryProxy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">data</span><span class="jsdoc-syntax">){
20 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">data</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">data.data</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) {
21 </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">data.data</span><span class="jsdoc-syntax">;
23 </span><span class="jsdoc-var">Roo.data.MemoryProxy.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
24 </span><span class="jsdoc-var">this.data </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">data</span><span class="jsdoc-syntax">;
27 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.data.MemoryProxy</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.data.DataProxy</span><span class="jsdoc-syntax">, {
29 </span><span class="jsdoc-comment">/**
30 * @cfg {Object} data The data object which the Reader uses to construct a block of Roo.data.Records.
33 * Load data from the requested source (in this case an in-memory
34 * data object passed to the constructor), read the data object into
35 * a block of Roo.data.Records using the passed Roo.data.DataReader implementation, and
36 * process that block using the passed callback.
37 * @param {Object} params This parameter is not used by the MemoryProxy class.
38 * @param {Roo.data.DataReader} reader The Reader object which converts the data
39 * object into a block of Roo.data.Records.
40 * @param {Function} callback The function into which to pass the block of Roo.data.records.
41 * The function must be passed <ul>
42 * <li>The Record block object</li>
43 * <li>The "arg" argument from the load function</li>
44 * <li>A boolean success indicator</li>
46 * @param {Object} scope The scope in which to call the callback
47 * @param {Object} arg An optional argument which is passed to the callback as its second parameter.
49 </span><span class="jsdoc-var">load </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">reader</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arg</span><span class="jsdoc-syntax">){
50 </span><span class="jsdoc-var">params </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">params </span><span class="jsdoc-syntax">|| {};
51 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">result</span><span class="jsdoc-syntax">;
52 </span><span class="jsdoc-keyword">try </span><span class="jsdoc-syntax">{
53 </span><span class="jsdoc-var">result </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">reader.readRecords</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">params.data </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">params.data </span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">this.data</span><span class="jsdoc-syntax">);
54 }</span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
55 </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"loadexception"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arg</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
56 </span><span class="jsdoc-var">callback.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arg</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
57 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
59 </span><span class="jsdoc-var">callback.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">result</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arg</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
62 </span><span class="jsdoc-comment">// private
63 </span><span class="jsdoc-var">update </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">records</span><span class="jsdoc-syntax">){
66 });</span></code></body></html>