/* This file is part of Ext JS 3.4 Copyright (c) 2011-2013 Sencha Inc Contact: http://www.sencha.com/contact GNU General Public License Usage This file may be used under the terms of the GNU General Public License version 3.0 as published by the Free Software Foundation and appearing in the file LICENSE included in the packaging of this file. Please review the following information to ensure the GNU General Public License version 3.0 requirements will be met: http://www.gnu.org/copyleft/gpl.html. If you are unsure which license is appropriate for your use, please contact the sales department at http://www.sencha.com/contact. Build date: 2013-04-03 15:07:25 */ Ext.data.JsonP.Ext_direct_RemotingProvider({"alternateClassNames":[],"aliases":{},"enum":null,"parentMixins":[],"tagname":"class","subclasses":[],"extends":"Ext.direct.JsonProvider","uses":[],"html":"
Hierarchy
Ext.util.ObservableExt.direct.ProviderExt.direct.JsonProviderExt.direct.RemotingProviderFiles
The RemotingProvider exposes access to\nserver side methods on the client (a remote procedure call (RPC) type of\nconnection where the client can initiate a procedure on the server).
\n\n\n\n\nThis allows for code to be organized in a fashion that is maintainable,\nwhile providing a clear path between client and server, something that is\nnot always apparent when using URLs.
\n\n\n\n\nTo accomplish this the server-side needs to describe what classes and methods\nare available on the client-side. This configuration will typically be\noutputted by the server-side Ext.Direct stack when the API description is built.
\n\nObject literal defining the server side actions and methods. For example, if\nthe Provider is configured with:
\n\n\"actions\":{ // each property within the 'actions' object represents a server side Class \n \"TestAction\":[ // array of methods within each server side Class to be \n { // stubbed out on client\n \"name\":\"doEcho\", \n \"len\":1 \n },{\n \"name\":\"multiply\",// name of method\n \"len\":2 // The number of parameters that will be used to create an\n // array of data to send to the server side function.\n // Ensure the server sends back a Number, not a String. \n },{\n \"name\":\"doForm\",\n \"formHandler\":true, // direct the client to use specialized form handling method \n \"len\":1\n }]\n}\n
\n\n\nNote that a Store is not required, a server method can be called at any time.\nIn the following example a client side handler is used to call the\nserver side method \"multiply\" in the server-side \"TestAction\" Class:
\n\n\nTestAction.multiply(\n 2, 4, // pass two arguments to server, so specify len=2\n // callback function after the server is called\n // result: the result returned by the server\n // e: Ext.Direct.RemotingEvent object\n function(result, e){\n var t = e.getTransaction();\n var action = t.action; // server side Class called\n var method = t.method; // server side method called\n if(e.status){\n var answer = Ext.encode(result); // 8\n \n }else{\n var msg = e.message; // failure message\n }\n }\n);\n
\n\n\nIn the example above, the server side \"multiply\" function will be passed two\narguments (2 and 4). The \"multiply\" method should return the value 8 which will be\navailable as the result in the example above.
\ntrue or false to enable or disable combining of method\ncalls. If a number is specified this is the amount of time in milliseconds\nto wait before sending a batched request (defaults to 10).
\n\n\nCalls which are received within the specified timeframe will be\n\n\n
concatenated together and sent in a single request, optimizing the\napplication by reducing the amount of round trips that have to be made\nto the server.
\nDefaults to: 10
Specify which param will hold the arguments for the method.\nDefaults to 'data'.
\nThe unique id of the provider (defaults to an auto-assigned id).\nYou should assign an id if you need to be able to access the provider later and you do\nnot have an object reference available, for example:
\n\nExt.Direct.addProvider(\n {\n type: 'polling',\n url: 'php/poll.php',\n id: 'poll-provider'\n }\n);\n \nvar p = Ext.Direct.getProvider('poll-provider');\np.disconnect();\n
\n\n(optional)
A config object containing one or more event handlers to be added to this\nobject during initialization. This should be a valid listeners config object as specified in the\naddListener example for attaching multiple handlers at once.
\n\nDOM events from ExtJs Components
\n\n\nWhile some ExtJs Component classes export selected DOM events (e.g. \"click\", \"mouseover\" etc), this\n\n\n
is usually only done when extra value can be added. For example the DataView's\nclick
event passing the node clicked on. To access DOM\nevents directly from a Component's HTMLElement, listeners must be added to the Element after the Component\nhas been rendered. A plugin can simplify this step:
// Plugin is configured with a listeners config object.\n// The Component is appended to the argument list of all handler functions.\nExt.DomObserver = Ext.extend(Object, {\n constructor: function(config) {\n this.listeners = config.listeners ? config.listeners : config;\n },\n\n // Component passes itself into plugin's init method\n init: function(c) {\n var p, l = this.listeners;\n for (p in l) {\n if (Ext.isFunction(l[p])) {\n l[p] = this.createHandler(l[p], c);\n } else {\n l[p].fn = this.createHandler(l[p].fn, c);\n }\n }\n\n // Add the listeners to the Element immediately following the render call\n c.render = c.render.createSequence(function() {\n var e = c.getEl();\n if (e) {\n e.on(l);\n }\n });\n },\n\n createHandler: function(fn, c) {\n return function(e) {\n fn.call(this, e, c);\n };\n }\n});\n\nvar combo = new Ext.form.ComboBox({\n\n // Collapse combo when its element is clicked on\n plugins: [ new Ext.DomObserver({\n click: function(evt, comp) {\n comp.collapse();\n }\n })],\n store: myStore,\n typeAhead: true,\n mode: 'local',\n triggerAction: 'all'\n});\n
\n\n\n\nNumber of times to re-attempt delivery on failure of a call. Defaults to 1.
\nDefaults to: 1
Namespace for the Remoting Provider (defaults to the browser global scope of window).\nExplicitly specify the namespace Object, or specify a String to have a\nnamespace created implicitly.
\nPriority of the request. Lower is higher priority, 0 means \"duplex\" (always on).\nAll Providers default to 1 except for PollingProvider which defaults to 3.
\nDefaults to: 1
The timeout to use for each request. Defaults to undefined.
\nRequired, undefined by default. The type of provider specified\nto Ext.Direct.addProvider to create a\nnew Provider. Acceptable values by default are:
Adds the specified events to the list of events which this Observable may fire.
\nEither an object with event names as properties with a value of true
\nor the first event name string if multiple event names are being passed as separate parameters.
. Event name if multiple event names are being passed as separate parameters.\nUsage:
\n\nthis.addEvents('storeloaded', 'storecleared');\n
\n\nAppends an event handler to this object.
\nThe name of the event to listen for.
\nThe method the event invokes.
\nThe scope (this
reference) in which the handler function is executed.\nIf omitted, defaults to the object which fired the event.
An object containing handler configuration.\nproperties. This may contain any of the following properties:
this
reference) in which the handler function is executed.\nIf omitted, defaults to the object which fired the event.\nCombining Options
\nUsing the options argument, it is possible to combine different types of listeners:
\n
\nA delayed, one-time listener.\n
myDataView.on('click', this.onClick, this, {\nsingle: true,\ndelay: 100\n});
\n\nAttaching multiple handlers in 1 call
\nThe method also allows for a single argument to be passed which is a config object containing properties\nwhich specify multiple handlers.\n
\n
myGridPanel.on({\n'click' : {\n fn: this.onClick,\n scope: this,\n delay: 100\n},\n'mouseover' : {\n fn: this.onMouseOver,\n scope: this\n},\n'mouseout' : {\n fn: this.onMouseOut,\n scope: this\n}\n});
\n\nOr a shorthand syntax:
\n
myGridPanel.on({\n'click' : this.onClick,\n'mouseover' : this.onMouseOver,\n'mouseout' : this.onMouseOut,\n scope: this\n});
\n\nAbstract methods for subclasses to implement.
\nOverrides: Ext.direct.Provider.connect
Abstract methods for subclasses to implement.
\nOverrides: Ext.direct.Provider.disconnect
Enables events fired by this Observable to bubble up an owner hierarchy by calling\nthis.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\nimplementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to\naccess the required target more quickly.
\n\n\nExample:
\n\n\nExt.override(Ext.form.Field, {\n // Add functionality to Field's initComponent to enable the change event to bubble\n initComponent : Ext.form.Field.prototype.initComponent.createSequence(function() {\n this.enableBubble('change');\n }),\n\n // We know that we want Field's events to bubble directly to the FormPanel.\n getBubbleTarget : function() {\n if (!this.formPanel) {\n this.formPanel = this.findParentByType('form');\n }\n return this.formPanel;\n }\n});\n\nvar myForm = new Ext.formPanel({\n title: 'User Details',\n items: [{\n ...\n }],\n listeners: {\n change: function() {\n // Title goes red if form has been modified.\n myForm.header.setStyle('color', 'red');\n }\n }\n});\n
\n\nFires the specified event with the passed parameters (minus the event name).
\n\n\nAn event may be set to bubble up an Observable parent hierarchy (See Ext.Component.getBubbleTarget)\nby calling enableBubble.
\n\nThe name of the event to fire.
\nVariable number of parameters are passed to handlers.
\nreturns false if any of the handlers return false otherwise it returns true.
\nChecks to see if this object has any listeners for a specified event
\nThe name of the event to check for
\nTrue if the event is being listened for, else false
\ninherited
\n\nReturns whether or not the server-side is currently connected.\nAbstract method for subclasses to implement.
\nOverrides: Ext.direct.Provider.isConnected
Appends an event handler to this object (shorthand for addListener.)
\nThe type of event to listen for
\nThe method the event invokes
\nThe scope (this
reference) in which the handler function is executed.\nIf omitted, defaults to the object which fired the event.
An object containing handler configuration.
\nRelays selected events from the specified Observable as if the events were fired by this.
\nThe Observable whose events this object is to relay.
\nArray of event names to relay.
\nRemoves an event handler.
\nThe type of event the handler was associated with.
\nThe handler to remove. This must be a reference to the function passed into the addListener call.
\nThe scope originally specified for the handler.
\nResume firing events. (see suspendEvents)\nIf events were suspended using the queueSuspended parameter, then all\nevents fired during event suspension will be sent to any listeners now.
\nSuspend the firing of all events. (see resumeEvents)
\nPass as true to queue up suspended events to be fired\nafter the resumeEvents call instead of discarding all suspended events;
\nRemoves an event handler (shorthand for removeListener.)
\nThe type of event the handler was associated with.
\nThe handler to remove. This must be a reference to the function passed into the addListener call.
\nThe scope originally specified for the handler.
\nFires immediately before the client-side sends off the RPC call.\nBy returning false from an event handler you can prevent the call from\nexecuting.
\nThe meta data
\nFires immediately after the request to the server-side is sent. This does\nNOT fire after the response has come back from the call.
\nThe meta data
\nFires when the Provider connects to the server-side
\nThe Provider.
\nFires when the Provider receives data from the server-side
\nThe Provider.
\nThe Ext.Direct.Event type that occurred.
\nFires when the Provider disconnects from the server-side
\nThe Provider.
\nFires when the Provider receives an exception from the server-side
\n