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 * An implementation of Roo.data.DataProxy that simply passes the data specified in its constructor
14 * to the Reader when its load method is called.
16 * @param {Object} data The data object which the Reader uses to construct a block of Roo.data.Records.
18 </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">){
19 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">data.data</span><span class="jsdoc-syntax">) {
20 </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">data.data</span><span class="jsdoc-syntax">;
22 </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">);
23 </span><span class="jsdoc-var">this.data </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">data</span><span class="jsdoc-syntax">;
26 </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">, {
28 </span><span class="jsdoc-comment">/**
29 * Load data from the requested source (in this case an in-memory
30 * data object passed to the constructor), read the data object into
31 * a block of Roo.data.Records using the passed Roo.data.DataReader implementation, and
32 * process that block using the passed callback.
33 * @param {Object} params This parameter is not used by the MemoryProxy class.
34 * @param {Roo.data.DataReader} reader The Reader object which converts the data
35 * object into a block of Roo.data.Records.
36 * @param {Function} callback The function into which to pass the block of Roo.data.records.
37 * The function must be passed <ul>
38 * <li>The Record block object</li>
39 * <li>The "arg" argument from the load function</li>
40 * <li>A boolean success indicator</li>
42 * @param {Object} scope The scope in which to call the callback
43 * @param {Object} arg An optional argument which is passed to the callback as its second parameter.
45 </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">){
46 </span><span class="jsdoc-var">params </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">params </span><span class="jsdoc-syntax">|| {};
47 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">result</span><span class="jsdoc-syntax">;
48 </span><span class="jsdoc-keyword">try </span><span class="jsdoc-syntax">{
49 </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">);
50 }</span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
51 </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">);
52 </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">);
53 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
55 </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">);
58 </span><span class="jsdoc-comment">// private
59 </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">){
62 });</span></code></body></html>