/*! * Ext JS Library 3.4.0 * Copyright(c) 2006-2011 Sencha Inc. * licensing@sencha.com * 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);