/*!
 * Ext JS Library 3.3.1
 * Copyright(c) 2006-2010 Sencha Inc.
 * [email protected]
 * http://www.sencha.com/license
 */
/** * @class Ext.data.DirectStore * @extends Ext.data.Store *

Small helper class to create an {@link Ext.data.Store} configured with an * {@link Ext.data.DirectProxy} and {@link Ext.data.JsonReader} to make interacting * with an {@link Ext.Direct} Server-side {@link Ext.direct.Provider Provider} easier. * To create a different proxy/reader combination create a basic {@link Ext.data.Store} * configured as needed.

* *

*Note: Although they are not listed, this class inherits all of the config options of:

*
* * @xtype directstore * * @constructor * @param {Object} config */ Ext.data.DirectStore = Ext.extend(Ext.data.Store, { constructor : function(config){ // each transaction upon a singe record will generate a distinct Direct transaction since Direct queues them into one Ajax request. var c = Ext.apply({}, { batchTransactions: false }, config); Ext.data.DirectStore.superclass.constructor.call(this, Ext.apply(c, { proxy: Ext.isDefined(c.proxy) ? c.proxy : new Ext.data.DirectProxy(Ext.copyTo({}, c, 'paramOrder,paramsAsHash,directFn,api')), reader: (!Ext.isDefined(c.reader) && c.fields) ? new Ext.data.JsonReader(Ext.copyTo({}, c, 'totalProperty,root,idProperty'), c.fields) : c.reader })); } }); Ext.reg('directstore', Ext.data.DirectStore);