X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6746dc89c47ed01b165cc1152533605f97eb8e8d..f562e4c6e5fac7bcb445985b99acbea4d706e6f0:/src/data/proxy/Direct.js diff --git a/src/data/proxy/Direct.js b/src/data/proxy/Direct.js index 0afb2fab..9a051084 100644 --- a/src/data/proxy/Direct.js +++ b/src/data/proxy/Direct.js @@ -13,27 +13,26 @@ If you are unsure which license is appropriate for your use, please contact the */ /** - * @class Ext.data.proxy.Direct - * @extends Ext.data.proxy.Server - * - * This class is used to send requests to the server using {@link Ext.direct}. When a request is made, - * the transport mechanism is handed off to the appropriate {@link Ext.direct.RemotingProvider Provider} - * to complete the call. - * - * ## Specifying the function + * This class is used to send requests to the server using {@link Ext.direct.Manager Ext.Direct}. When a + * request is made, the transport mechanism is handed off to the appropriate + * {@link Ext.direct.RemotingProvider Provider} to complete the call. + * + * # Specifying the function + * * This proxy expects a Direct remoting method to be passed in order to be able to complete requests. * This can be done by specifying the {@link #directFn} configuration. This will use the same direct * method for all requests. Alternatively, you can provide an {@link #api} configuration. This * allows you to specify a different remoting method for each CRUD action. - * - * ## Parameters + * + * # Parameters + * * This proxy provides options to help configure which parameters will be sent to the server. * By specifying the {@link #paramsAsHash} option, it will send an object literal containing each * of the passed parameters. The {@link #paramOrder} option can be used to specify the order in which * the remoting method parameters are passed. - * - * ## Example Usage - * + * + * # Example Usage + * * Ext.define('User', { * extend: 'Ext.data.Model', * fields: ['firstName', 'lastName'], @@ -47,34 +46,34 @@ If you are unsure which license is appropriate for your use, please contact the */ Ext.define('Ext.data.proxy.Direct', { /* Begin Definitions */ - + extend: 'Ext.data.proxy.Server', alternateClassName: 'Ext.data.DirectProxy', - + alias: 'proxy.direct', - + requires: ['Ext.direct.Manager'], - + /* End Definitions */ - - /** - * @cfg {Array/String} paramOrder Defaults to undefined. A list of params to be executed - * server side. Specify the params in the order in which they must be executed on the server-side - * as either (1) an Array of String values, or (2) a String of params delimited by either whitespace, - * comma, or pipe. For example, - * any of the following would be acceptable:
-paramOrder: ['param1','param2','param3']
-paramOrder: 'param1 param2 param3'
-paramOrder: 'param1,param2,param3'
-paramOrder: 'param1|param2|param'
-
+
+ /**
+ * @cfg {String/String[]} paramOrder
+ * Defaults to undefined. A list of params to be executed server side. Specify the params in the order in
+ * which they must be executed on the server-side as either (1) an Array of String values, or (2) a String
+ * of params delimited by either whitespace, comma, or pipe. For example, any of the following would be
+ * acceptable:
+ *
+ * paramOrder: ['param1','param2','param3']
+ * paramOrder: 'param1 param2 param3'
+ * paramOrder: 'param1,param2,param3'
+ * paramOrder: 'param1|param2|param'
*/
paramOrder: undefined,
/**
* @cfg {Boolean} paramsAsHash
- * Send parameters as a collection of named arguments (defaults to true). Providing a
- * {@link #paramOrder} nullifies this configuration.
+ * Send parameters as a collection of named arguments.
+ * Providing a {@link #paramOrder} nullifies this configuration.
*/
paramsAsHash: true,
@@ -84,30 +83,32 @@ paramOrder: 'param1|param2|param'
* for Store's which will not implement a full CRUD api.
*/
directFn : undefined,
-
+
/**
- * @cfg {Object} api The same as {@link Ext.data.proxy.Server#api}, however instead of providing urls, you should provide a direct
+ * @cfg {Object} api
+ * The same as {@link Ext.data.proxy.Server#api}, however instead of providing urls, you should provide a direct
* function call.
*/
-
+
/**
- * @cfg {Object} extraParams Extra parameters that will be included on every read request. Individual requests with params
+ * @cfg {Object} extraParams
+ * Extra parameters that will be included on every read request. Individual requests with params
* of the same name will override these params when they are in conflict.
*/
-
+
// private
paramOrderRe: /[\s,|]/,
-
+
constructor: function(config){
var me = this;
-
+
Ext.apply(me, config);
if (Ext.isString(me.paramOrder)) {
me.paramOrder = me.paramOrder.split(me.paramOrderRe);
}
me.callParent(arguments);
},
-
+
doRequest: function(operation, callback, scope) {
var me = this,
writer = me.getWriter(),
@@ -119,21 +120,21 @@ paramOrder: 'param1|param2|param'
method,
i = 0,
len;
-
+
//