-<html><head><title>../roojs1/Roo/data/Store.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">/*
+<html><head><title>/home/alan/gitlive/roojs1/Roo/data/Store.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.
}
</span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
-
+
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.reader</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-comment">// reader passed
</span><span class="jsdoc-var">this.reader </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.reader</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.data</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.reader.xmodule </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.xmodule </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
*/
</span><span class="jsdoc-var">loadexception </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">this.proxy</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.proxy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.proxy</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.data</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.proxy.xmodule </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.xmodule </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
* @cfg {boolean} isLocal flag if data is locally available (and can be always looked up
* without a remote query - used by combo/forms at present.
*/
-
+
/**
* @cfg {Roo.data.DataProxy} proxy The Proxy object which provides access to a data object.
*/
</span><span class="jsdoc-var">remove </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.data.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.data.removeAt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
+
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.pruneModifiedRecords</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.modified.remove</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">);
}
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.paramNames</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">pn</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">"multisort"</span><span class="jsdoc-syntax">]] = </span><span class="jsdoc-var">Roo.encode</span><span class="jsdoc-syntax">( { </span><span class="jsdoc-var">sort </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.sortToggle</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">order</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.sortOrder </span><span class="jsdoc-syntax">});
}
-
+
</span><span class="jsdoc-var">this.proxy.load</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.reader</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.loadRecords</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">);
}
},
</span><span class="jsdoc-keyword">return</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">o.records</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.totalRecords </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">r.length</span><span class="jsdoc-syntax">;
-
+
</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"beforeloadadd"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</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">options </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">options.add </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">this.pruneModifiedRecords</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.modified </span><span class="jsdoc-syntax">= [];
</span><span class="jsdoc-var">this.totalLength </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.data.length</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">r.length</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">);
}
-
+
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.parent </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">Roo.isIOS </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">this.useNativeIOS </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.parent.emptyTitle.length</span><span class="jsdoc-syntax">) {
-
+
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">e </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.data.Record</span><span class="jsdoc-syntax">({});
</span><span class="jsdoc-var">e.set</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.parent.displayField</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.parent.emptyTitle</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.insert</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
}
-
+
</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"load"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</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">options.callback</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">options.callback.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options.scope </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</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">this.fields.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fieldName</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.sortToggle</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f.name</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">this.sortToggle</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f.name</span><span class="jsdoc-syntax">] || </span><span class="jsdoc-var">f.sortDir</span><span class="jsdoc-syntax">;
-
+
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.multiSort </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">this.sortInfo </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.sortInfo.field </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">f.name</span><span class="jsdoc-syntax">) ){ </span><span class="jsdoc-comment">// toggle sort dir
</span><span class="jsdoc-var">dir </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">this.sortToggle</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f.name</span><span class="jsdoc-syntax">] || </span><span class="jsdoc-string">"ASC"</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.toggle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"ASC"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"DESC"</span><span class="jsdoc-syntax">);
}</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
}
</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"update"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.data.Record.EDIT</span><span class="jsdoc-syntax">);
},
-
+
</span><span class="jsdoc-comment">// private
</span><span class="jsdoc-var">afterReject </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.modified.remove</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.modified </span><span class="jsdoc-syntax">= [];
</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'metachange'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.reader.meta</span><span class="jsdoc-syntax">);
},
-
+
</span><span class="jsdoc-var">moveIndex </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">, </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">)
{
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">data</span><span class="jsdoc-syntax">);
-
+
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">newIndex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">;
-
+
</span><span class="jsdoc-var">this.remove</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">data</span><span class="jsdoc-syntax">);
-
+
</span><span class="jsdoc-var">this.insert</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">data</span><span class="jsdoc-syntax">);
-
+
}
});</span></code></body></html>
\ No newline at end of file