DirectStore.js
上传用户:dawnssy
上传日期:2022-08-06
资源大小:9345k
文件大小:2k
源码类别:

JavaScript

开发平台:

JavaScript

  1. /*!  * Ext JS Library 3.1.0  * Copyright(c) 2006-2009 Ext JS, LLC  * licensing@extjs.com  * http://www.extjs.com/license  */ /**
  2.  * @class Ext.data.DirectStore
  3.  * @extends Ext.data.Store
  4.  * <p>Small helper class to create an {@link Ext.data.Store} configured with an
  5.  * {@link Ext.data.DirectProxy} and {@link Ext.data.JsonReader} to make interacting
  6.  * with an {@link Ext.Direct} Server-side {@link Ext.direct.Provider Provider} easier.
  7.  * To create a different proxy/reader combination create a basic {@link Ext.data.Store}
  8.  * configured as needed.</p>
  9.  *
  10.  * <p><b>*Note:</b> Although they are not listed, this class inherits all of the config options of:</p>
  11.  * <div><ul class="mdetail-params">
  12.  * <li><b>{@link Ext.data.Store Store}</b></li>
  13.  * <div class="sub-desc"><ul class="mdetail-params">
  14.  *
  15.  * </ul></div>
  16.  * <li><b>{@link Ext.data.JsonReader JsonReader}</b></li>
  17.  * <div class="sub-desc"><ul class="mdetail-params">
  18.  * <li><tt><b>{@link Ext.data.JsonReader#root root}</b></tt></li>
  19.  * <li><tt><b>{@link Ext.data.JsonReader#idProperty idProperty}</b></tt></li>
  20.  * <li><tt><b>{@link Ext.data.JsonReader#totalProperty totalProperty}</b></tt></li>
  21.  * </ul></div>
  22.  *
  23.  * <li><b>{@link Ext.data.DirectProxy DirectProxy}</b></li>
  24.  * <div class="sub-desc"><ul class="mdetail-params">
  25.  * <li><tt><b>{@link Ext.data.DirectProxy#directFn directFn}</b></tt></li>
  26.  * <li><tt><b>{@link Ext.data.DirectProxy#paramOrder paramOrder}</b></tt></li>
  27.  * <li><tt><b>{@link Ext.data.DirectProxy#paramsAsHash paramsAsHash}</b></tt></li>
  28.  * </ul></div>
  29.  * </ul></div>
  30.  *
  31.  * @xtype directstore
  32.  *
  33.  * @constructor
  34.  * @param {Object} config
  35.  */
  36. Ext.data.DirectStore = function(c){
  37.     // each transaction upon a singe record will generatie a distinct Direct transaction since Direct queues them into one Ajax request.
  38.     c.batchTransactions = false;
  39.     Ext.data.DirectStore.superclass.constructor.call(this, Ext.apply(c, {
  40.         proxy: (typeof(c.proxy) == 'undefined') ? new Ext.data.DirectProxy(Ext.copyTo({}, c, 'paramOrder,paramsAsHash,directFn,api')) : c.proxy,
  41.         reader: (typeof(c.reader) == 'undefined' && typeof(c.fields) == 'object') ? new Ext.data.JsonReader(Ext.copyTo({}, c, 'totalProperty,root,idProperty'), c.fields) : c.reader
  42.     }));
  43. };
  44. Ext.extend(Ext.data.DirectStore, Ext.data.Store, {});
  45. Ext.reg('directstore', Ext.data.DirectStore);