The unique id of the provider (defaults to an auto-assigned id).
-You should assign an id if you need to be able to a...
The unique id of the provider (defaults to an
auto-assigned id).
-You should assign an id if you need to be able to access the provider later and you do
-not have an object reference available, for example:
-
Ext.Direct.addProvider(
- {
- type: 'polling',
- url: 'php/poll.php',
- id: 'poll-provider'
- }
-);
-
-var p = Ext.Direct.getProvider('poll-provider');
+The RemotingProvider exposes access to
+server side methods on the client (a remote procedure call (RPC) type of
+connection where the client can initiate a procedure on the server).
+
This allows for code to be organized in a fashion that is maintainable,
+while providing a clear path between client and server, something that is
+not always apparent when using URLs.
+
To accomplish this the server-side needs to describe what classes and methods
+are available on the client-side. This configuration will typically be
+outputted by the server-side Ext.Direct stack when the API description is built.
Config Options
|
| actions : ObjectObject literal defining the server side actions and methods. For example, if
+the Provider is configured with:
+"action... Object literal defining the server side actions and methods. For example, if
+the Provider is configured with:
+ "actions":{ // each property within the 'actions' object represents a server side Class
+ "TestAction":[ // array of methods within each server side Class to be
+ { // stubbed out on client
+ "name":"doEcho",
+ "len":1
+ },{
+ "name":"multiply",// name of method
+ "len":2 // The number of parameters that will be used to create an
+ // array of data to send to the server side function.
+ // Ensure the server sends back a Number, not a String.
+ },{
+ "name":"doForm",
+ "formHandler":true, // direct the client to use specialized form handling method
+ "len":1
+ }]
+}
+ Note that a Store is not required, a server method can be called at any time.
+In the following example a client side handler is used to call the
+server side method "multiply" in the server-side "TestAction" Class:
+ TestAction.multiply(
+ 2, 4, // pass two arguments to server, so specify len=2
+ // callback function after the server is called
+ // result: the result returned by the server
+ // e: Ext.Direct.RemotingEvent object
+ function(result, e){
+ var t = e.getTransaction();
+ var action = t.action; // server side Class called
+ var method = t.method; // server side method called
+ if(e.status){
+ var answer = Ext.encode(result); // 8
+
+ }else{
+ var msg = e.message; // failure message
+ }
+ }
+);
+In the example above, the server side "multiply" function will be passed two
+arguments (2 and 4). The "multiply" method should return the value 8 which will be
+available as the result in the example above. | RemotingProvider |
| enableBuffer : Number/Booleantrue or false to enable or disable combining of method
+calls. If a number is specified this is the amount of time in ... true or false to enable or disable combining of method
+calls. If a number is specified this is the amount of time in milliseconds
+to wait before sending a batched request (defaults to 10).
+ Calls which are received within the specified timeframe will be
+concatenated together and sent in a single request, optimizing the
+application by reducing the amount of round trips that have to be made
+to the server. | RemotingProvider |
| enableUrlEncode : String Specify which param will hold the arguments for the method.
+Defaults to 'data'. | RemotingProvider |
| id : StringThe unique id of the provider (defaults to an auto-assigned id).
+You should assign an id if you need to be able to ac... The unique id of the provider (defaults to an auto-assigned id).
+You should assign an id if you need to be able to access the provider later and you do
+not have an object reference available, for example:
+ Ext.Direct.addProvider(
+ {
+ type: 'polling',
+ url: 'php/poll.php',
+ id: 'poll-provider'
+ }
+);
+
+var p = Ext.Direct.getProvider('poll-provider');
p.disconnect();
| Provider |
| listeners : ObjectA config object containing one or more event handlers to be added to this
object during initialization. This should ... A config object containing one or more event handlers to be added to this
object during initialization. This should be a valid listeners config object as specified in the
@@ -124,18 +124,18 @@ Ext.DomObserver = Ext.extend(Object, {
typeAhead: true,
mode: 'local',
triggerAction: 'all'
-}); | Observable |
| maxRetries : Number Number of times to re-attempt delivery on failure of a call. Defaults to 1. | RemotingProvider |
| namespace : String/ObjectNamespace for the Remoting Provider (defaults to the browser global scope of window).
-Explicitly specify the namespa... Namespace for the Remoting Provider (defaults to the browser global scope of window).
-Explicitly specify the namespace Object, or specify a String to have a
- namespace created implicitly. | RemotingProvider |
| priority : NumberPriority of the request. Lower is higher priority, 0 means "duplex" (always on).
-All Providers default to 1 except f... Priority of the request. Lower is higher priority, 0 means "duplex" (always on).
-All Providers default to 1 except for PollingProvider which defaults to 3. | Provider |
| timeout : Number The timeout to use for each request. Defaults to undefined. | RemotingProvider |
| type : StringRequired, undefined by default. The type of provider specified
-to Ext.Direct.addProvider to create a
-new Provider.... Required, undefined by default. The type of provider specified
-to Ext.Direct. addProvider to create a
-new Provider. Acceptable values by default are: | Observable |
| maxRetries : Number Number of times to re-attempt delivery on failure of a call. Defaults to 1. | RemotingProvider |
| namespace : String/ObjectNamespace for the Remoting Provider (defaults to the browser global scope of window).
+Explicitly specify the namespac... Namespace for the Remoting Provider (defaults to the browser global scope of window).
+Explicitly specify the namespace Object, or specify a String to have a
+ namespace created implicitly. | RemotingProvider |
| priority : NumberPriority of the request. Lower is higher priority, 0 means "duplex" (always on).
+All Providers default to 1 except fo... Priority of the request. Lower is higher priority, 0 means "duplex" (always on).
+All Providers default to 1 except for PollingProvider which defaults to 3. | Provider |
| timeout : Number The timeout to use for each request. Defaults to undefined. | RemotingProvider |
| type : StringRequired, undefined by default. The type of provider specified
+to Ext.Direct.addProvider to create a
+new Provider. A... Required, undefined by default. The type of provider specified
+to Ext.Direct. addProvider to create a
+new Provider. Acceptable values by default are: | Provider |
| url : StringRequired. The url to connect to the Ext.Direct server-side router. | RemotingProvider |
Public Properties
Public Methods
|
| addEvents( Object|String o , string Optional. )
:
voidAdds the specified events to the list of events which this Observable may fire. Adds the specified events to the list of events which this Observable may fire. | Observable |
| enableBubble( String/Array events )
:
- voidEnables events fired by this Observable to bubble up an owner hierarchy by calling
-this.getBubbleTarget() if present... Enables events fired by this Observable to bubble up an owner hierarchy by calling
-this.getBubbleTarget() if present. There is no implementation in the Observable base class.
- This is commonly used by Ext.Components to bubble events to owner Containers. See Ext.Component.getBubbleTarget. The default
-implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to
-access the required target more quickly.
- Example: Ext.override(Ext.form.Field, {
- // Add functionality to Field's initComponent to enable the change event to bubble
- initComponent : Ext.form.Field.prototype.initComponent.createSequence(function() {
- this.enableBubble('change');
- }),
-
- // We know that we want Field's events to bubble directly to the FormPanel.
- getBubbleTarget : function() {
- if (!this.formPanel) {
- this.formPanel = this.findParentByType('form');
- }
- return this.formPanel;
- }
-});
-
-var myForm = new Ext.formPanel({
- title: 'User Details',
- items: [{
- ...
- }],
- listeners: {
- change: function() {
- // Title goes red if form has been modified.
- myForm.header.setStyle('color', 'red');
- }
- }
+ voidEnables events fired by this Observable to bubble up an owner hierarchy by calling
+this.getBubbleTarget() if present.... Enables events fired by this Observable to bubble up an owner hierarchy by calling
+this.getBubbleTarget() if present. There is no implementation in the Observable base class.
+ This is commonly used by Ext.Components to bubble events to owner Containers. See Ext.Component.getBubbleTarget. The default
+implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to
+access the required target more quickly.
+ Example: Ext.override(Ext.form.Field, {
+ // Add functionality to Field's initComponent to enable the change event to bubble
+ initComponent : Ext.form.Field.prototype.initComponent.createSequence(function() {
+ this.enableBubble('change');
+ }),
+
+ // We know that we want Field's events to bubble directly to the FormPanel.
+ getBubbleTarget : function() {
+ if (!this.formPanel) {
+ this.formPanel = this.findParentByType('form');
+ }
+ return this.formPanel;
+ }
+});
+
+var myForm = new Ext.formPanel({
+ title: 'User Details',
+ items: [{
+ ...
+ }],
+ listeners: {
+ change: function() {
+ // Title goes red if form has been modified.
+ myForm.header.setStyle('color', 'red');
+ }
+ }
});
| Observable |
| fireEvent( String eventName , Object... args )
:
Boolean | Observable |
| isConnected()
:
- voidReturns whether or not the server-side is currently connected.
-Abstract method for subclasses to implement. Returns whether or not the server-side is currently connected.
+ void Returns whether or not the server-side is currently connected.
+Abstract method for subclasses to implement. Returns whether or not the server-side is currently connected.
Abstract method for subclasses to implement. | Provider |
| on( String eventName , Function handler , [Object scope ], [Object options ] )
:
voidAppends an event handler to this object (shorthand for addListener.) Appends an event handler to this object (shorthand for addListener.) | Observable |
Public Events
|
| beforecall :
( Ext.direct.RemotingProvider provider , Ext.Direct.Transaction transaction )
- Fires immediately before the client-side sends off the RPC call.
-By returning false from an event handler you can pr... Fires immediately before the client-side sends off the RPC call.
-By returning false from an event handler you can prevent the call from
+ Fires immediately before the client-side sends off the RPC call.
+By returning false from an event handler you can pre... Fires immediately before the client-side sends off the RPC call.
+By returning false from an event handler you can prevent the call from
executing. Listeners will be called with the following arguments:provider : Ext.direct.RemotingProvidertransaction : Ext.Direct.Transaction
| RemotingProvider |
| call :
( Ext.direct.RemotingProvider provider , Ext.Direct.Transaction transaction )
- Fires immediately after the request to the server-side is sent. This does
-NOT fire after the response has come back ... Fires immediately after the request to the server-side is sent. This does
+ Fires immediately after the request to the server-side is sent. This does
+NOT fire after the response has come back f... Fires immediately after the request to the server-side is sent. This does
NOT fire after the response has come back from the call. Listeners will be called with the following arguments:provider : Ext.direct.RemotingProvidertransaction : Ext.Direct.Transaction
| RemotingProvider |
| connect :
( Ext.direct.Provider provider )
Fires when the Provider connects to the server-side Fires when the Provider connects to the server-side Listeners will be called with the following arguments:provider : Ext.direct.Provider
| Provider |
| data :
|