X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/530ef4b6c5b943cfa68b779d11cf7de29aa878bf..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/src/data/DirectStore.js diff --git a/src/data/DirectStore.js b/src/data/DirectStore.js index b239c962..8acb7540 100644 --- a/src/data/DirectStore.js +++ b/src/data/DirectStore.js @@ -1,14 +1,8 @@ -/*! - * Ext JS Library 3.2.1 - * Copyright(c) 2006-2010 Ext JS, Inc. - * licensing@extjs.com - * http://www.extjs.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 + * {@link Ext.data.proxy.Direct} and {@link Ext.data.reader.Json} 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.

@@ -19,36 +13,49 @@ *
- *
  • {@link Ext.data.JsonReader JsonReader}
  • + *
  • {@link Ext.data.reader.Json JsonReader}
  • *
    * - *
  • {@link Ext.data.DirectProxy DirectProxy}
  • + *
  • {@link Ext.data.proxy.Direct DirectProxy}
  • *
    * * - * @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.define('Ext.data.DirectStore', { + /* Begin Definitions */ + + extend: 'Ext.data.Store', + + alias: 'store.direct', + + requires: ['Ext.data.proxy.Direct'], + + /* End Definitions */ + + constructor : function(config){ + config = Ext.apply({}, config); + if (!config.proxy) { + var proxy = { + type: 'direct', + reader: { + type: 'json' + } + }; + Ext.copyTo(proxy, config, 'paramOrder,paramsAsHash,directFn,api,simpleSortMode'); + Ext.copyTo(proxy.reader, config, 'totalProperty,root,idProperty'); + config.proxy = proxy; + } + this.callParent([config]); + } }); -Ext.reg('directstore', Ext.data.DirectStore);