Alien-Web-ExtJS-V3
view release on metacpan or search on metacpan
share/src/data/Store.js view on Meta::CPAN
/**
* @cfg {boolean} remoteSort <tt>true</tt> if sorting is to be handled by requesting the <tt>{@link #proxy Proxy}</tt>
* to provide a refreshed version of the data object in sorted order, as opposed to sorting the Record cache
* in place (defaults to <tt>false</tt>).
* <p>If <tt>remoteSort</tt> is <tt>true</tt>, then clicking on a {@link Ext.grid.Column Grid Column}'s
* {@link Ext.grid.Column#header header} causes the current page to be requested from the server appending
* the following two parameters to the <b><tt>{@link #load params}</tt></b>:<div class="mdetail-params"><ul>
* <li><b><tt>sort</tt></b> : String<p class="sub-desc">The <tt>name</tt> (as specified in the Record's
* {@link Ext.data.Field Field definition}) of the field to sort on.</p></li>
* <li><b><tt>dir</tt></b> : String<p class="sub-desc">The direction of the sort, 'ASC' or 'DESC' (case-sensitive).</p></li>
* </ul></div></p>
*/
remoteSort : false,
/**
* @cfg {Boolean} autoDestroy <tt>true</tt> to destroy the store when the component the store is bound
* to is destroyed (defaults to <tt>false</tt>).
* <p><b>Note</b>: this should be set to true when using stores that are bound to only 1 component.</p>
*/
autoDestroy : false,
/**
* @cfg {Boolean} pruneModifiedRecords <tt>true</tt> to clear all modified record information each time
* the store is loaded or when a record is removed (defaults to <tt>false</tt>). See {@link #getModifiedRecords}
* for the accessor method to retrieve the modified records.
*/
pruneModifiedRecords : false,
/**
* Contains the last options object used as the parameter to the {@link #load} method. See {@link #load}
* for the details of what this may contain. This may be useful for accessing any params which were used
* to load the current Record cache.
* @property
*/
lastOptions : null,
/**
* @cfg {Boolean} autoSave
* <p>Defaults to <tt>true</tt> causing the store to automatically {@link #save} records to
* the server when a record is modified (ie: becomes 'dirty'). Specify <tt>false</tt> to manually call {@link #save}
* to send all modifiedRecords to the server.</p>
* <br><p><b>Note</b>: each CRUD action will be sent as a separate request.</p>
*/
autoSave : true,
/**
* @cfg {Boolean} batch
* <p>Defaults to <tt>true</tt> (unless <code>{@link #restful}:true</code>). Multiple
* requests for each CRUD action (CREATE, READ, UPDATE and DESTROY) will be combined
* and sent as one transaction. Only applies when <code>{@link #autoSave}</code> is set
* to <tt>false</tt>.</p>
* <br><p>If Store is RESTful, the DataProxy is also RESTful, and a unique transaction is
* generated for each record.</p>
*/
batch : true,
/**
* @cfg {Boolean} restful
* Defaults to <tt>false</tt>. Set to <tt>true</tt> to have the Store and the set
* Proxy operate in a RESTful manner. The store will automatically generate GET, POST,
* PUT and DELETE requests to the server. The HTTP method used for any given CRUD
* action is described in {@link Ext.data.Api#restActions}. For additional information
* see {@link Ext.data.DataProxy#restful}.
* <p><b>Note</b>: if <code>{@link #restful}:true</code> <code>batch</code> will
* internally be set to <tt>false</tt>.</p>
*/
restful: false,
/**
* @cfg {Object} paramNames
* <p>An object containing properties which specify the names of the paging and
* sorting parameters passed to remote servers when loading blocks of data. By default, this
* object takes the following form:</p><pre><code>
{
start : 'start', // The parameter name which specifies the start row
limit : 'limit', // The parameter name which specifies number of rows to return
sort : 'sort', // The parameter name which specifies the column to sort on
dir : 'dir' // The parameter name which specifies the sort direction
}
</code></pre>
* <p>The server must produce the requested data block upon receipt of these parameter names.
* If different parameter names are required, this property can be overriden using a configuration
* property.</p>
* <p>A {@link Ext.PagingToolbar PagingToolbar} bound to this Store uses this property to determine
* the parameter names to use in its {@link #load requests}.
*/
paramNames : undefined,
/**
* @cfg {Object} defaultParamNames
* Provides the default values for the {@link #paramNames} property. To globally modify the parameters
* for all stores, this object should be changed on the store prototype.
*/
defaultParamNames : {
start : 'start',
limit : 'limit',
sort : 'sort',
dir : 'dir'
},
isDestroyed: false,
hasMultiSort: false,
// private
batchKey : '_ext_batch_',
constructor : function(config){
/**
* @property hasMultiSort
* @type Boolean
* True if this store is currently sorted by more than one field/direction combination.
*/
/**
* @property isDestroyed
* @type Boolean
* True if the store has been destroyed already. Read only
*/
this.data = new Ext.util.MixedCollection(false);
this.data.getKey = function(o){
( run in 0.564 second using v1.01-cache-2.11-cpan-5b529ec07f3 )