Ext.data.Connection
Hierarchy
Ext.BaseExt.data.ConnectionMixins
Subclasses
Files
The Connection class encapsulates a connection to the page's originating domain, allowing requests to be made either to a configured URL, or to a URL specified at request time.
Requests made by this class are asynchronous, and will return immediately. No data from the server will be available to the statement immediately following the request call. To process returned data, use a success callback in the request options object, or an event listener.
File Uploads
File uploads are not performed using normal "Ajax" techniques, that is they are not performed using XMLHttpRequests.
Instead the form is submitted in the standard manner with the DOM <form> element temporarily modified to have its
target set to refer to a dynamically generated, hidden <iframe> which is inserted into the document but removed
after the return data has been gathered.
The server response is parsed by the browser to create the document for the IFRAME. If the server is using JSON to send the return object, then the Content-Type header must be set to "text/html" in order to tell the browser to insert the text unchanged into the document body.
Characters which are significant to an HTML parser must be sent as HTML entities, so encode < as <, & as
& etc.
The response text is retrieved from the document, and a fake XMLHttpRequest object is created containing a responseText property in order to conform to the requirements of event handlers and callbacks.
Be aware that file upload packets are sent with the content type multipart/form and some server technologies (notably JEE) may require some custom processing in order to retrieve parameter names and parameter values from the packet content.
Note: It is not possible to check the response code of the hidden iframe, so the success handler will always fire.
Available since: 1.1.0
Config options
The event name to bubble, or an Array of event names.
The event name to bubble, or an Array of event names.
Available since: 2.0.0
An object containing request headers which are added to each request made by this object.
An object containing request headers which are added to each request made by this object.
Available since: 2.0.0
Defaults to: 'application/x-www-form-urlencoded; charset=UTF-8'
Available since: 2.0.0
The value of the default Xhr header (X-Requested-With). This is only used when useDefaultXhrHeader
is set to true.
Defaults to: 'XMLHttpRequest'
Available since: 2.0.0
true to add a unique cache-buster param to GET requests.
Defaults to: true
Available since: 2.0.0
Change the parameter which is sent went disabling caching through a cache buster.
Defaults to: '_dc'
Available since: 2.0.0
Any parameters to be appended to the request.
Any parameters to be appended to the request.
Available since: 2.0.0
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 addListener example for attaching
multiple handlers at once.
See the Event guide for more
Note: It is bad practice to specify a listener's config when you are defining a class using Ext.define().
Instead, only specify listeners when you are instantiating your class with Ext.create().
Available since: 1.1.0
The default HTTP method to be used for requests.
Note: This is case-sensitive and should be all caps.
Defaults to undefined; if not set but params are present will use "POST", otherwise "GET".
Available since: 2.0.0
The timeout in milliseconds to be used for requests.
Defaults to: 30000
Available since: 1.1.0
The default URL to be used for requests to the server.
The default URL to be used for requests to the server.
Available since: 2.0.0
Properties
Instance Properties getXhrInstance : ObjectprivateCreates the appropriate XHR transport for the browser.
Creates the appropriate XHR transport for the browser.
Available since: 2.0.0
listenerOptionsRegex : RegExpprivate ...
Defaults to: /^(?:delegate|single|delay|buffer|args|prepend)$/
Available since: 2.0.0
mixinConfig : Objectprivate ...
Defaults to: {id: 'observable', hooks: {destroy: 'destroy'}}
Available since: 2.0.0
Get the reference to the current class from which this object was instantiated. ...Get the reference to the current class from which this object was instantiated. Unlike statics,
this.self is scope-dependent and it's meant to be used for dynamic inheritance. See statics
for a detailed comparison
Ext.define('My.Cat', {
statics: {
speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
},
constructor: function() {
alert(this.self.speciesName); // dependent on 'this'
},
clone: function() {
return new this.self();
}
});
Ext.define('My.SnowLeopard', {
extend: 'My.Cat',
statics: {
speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'
}
});
var cat = new My.Cat(); // alerts 'Cat'
var snowLeopard = new My.SnowLeopard(); // alerts 'Snow Leopard'
var clone = snowLeopard.clone();
alert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'
Available since: 2.0.0
Creates the appropriate XHR transport for the browser.
Creates the appropriate XHR transport for the browser.
Available since: 2.0.0
Defaults to: /^(?:delegate|single|delay|buffer|args|prepend)$/
Available since: 2.0.0
Defaults to: {id: 'observable', hooks: {destroy: 'destroy'}}
Available since: 2.0.0
Get the reference to the current class from which this object was instantiated. Unlike statics,
this.self is scope-dependent and it's meant to be used for dynamic inheritance. See statics
for a detailed comparison
Ext.define('My.Cat', {
statics: {
speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
},
constructor: function() {
alert(this.self.speciesName); // dependent on 'this'
},
clone: function() {
return new this.self();
}
});
Ext.define('My.SnowLeopard', {
extend: 'My.Cat',
statics: {
speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'
}
});
var cat = new My.Cat(); // alerts 'Cat'
var snowLeopard = new My.SnowLeopard(); // alerts 'Snow Leopard'
var clone = snowLeopard.clone();
alert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'
Available since: 2.0.0
Static Properties
Methods
Instance Methods ... abort( [request] )Aborts any outstanding request. ...Aborts any outstanding request.
Available since: 1.1.0
Parameters
- request : Object (optional)
Defaults to the last request.
abortAll( )Aborts all outstanding requests. ...Aborts all outstanding requests.
Available since: 2.0.0
addAfterListener( eventName, fn, [scope], [options] )Appends an after-event handler. ...Appends an after-event handler.
Same as addListener with order set to 'after'.
Available since: 2.0.0
Parameters
addBeforeListener( eventName, fn, [scope], [options] )Appends a before-event handler. ...Appends a before-event handler. Returning false from the handler will stop the event.
Same as addListener with order set to 'before'.
Available since: 2.0.0
Parameters
addDispatcherListener( selector, name, fn, scope, options, order )private addEvents( eventNames )deprecatedAdds 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.
This method has been deprecated since 2.0
It's no longer needed to add events before firing.
Available since: 1.1.0
Parameters
addListener( eventName, fn, [scope], [options], [order] )Appends an event handler to this object. ...Appends an event handler to this object. You can review the available handlers by looking at the 'events'
section of the documentation for the component you are working with.
Combining Options
Using the options argument, it is possible to combine different types of listeners:
A delayed, one-time listener:
container.on('tap', this.handleTap, this, {
single: true,
delay: 100
});
Attaching multiple handlers in 1 call
The method also allows for a single argument to be passed which is a config object containing properties which
specify multiple events. For example:
container.on({
tap : this.onTap,
swipe: this.onSwipe,
scope: this // Important. Ensure "this" is correct during handler execution
});
One can also specify options for each event handler separately:
container.on({
tap : { fn: this.onTap, scope: this, single: true },
swipe: { fn: button.onSwipe, scope: button }
});
See the Events Guide for more.
Available since: 1.1.0
Parameters
- eventName : String/String[]/Object
The name of the event to listen for. May also be an object who's property names are
event names.
- fn : Function/String
The method the event invokes. Will be called with arguments given to
fireEvent plus the options parameter described below.
- scope : Object (optional)
The scope (this reference) in which the handler function is executed. If
omitted, defaults to the object which fired the event.
- options : Object (optional)
An object containing handler configuration.
This object may contain any of the following properties:
- scope : Object (optional)
The scope (this reference) in which the handler function is executed. If omitted, defaults to the object
which fired the event.
- delay : Number (optional)
The number of milliseconds to delay the invocation of the handler after the event fires.
- single : Boolean (optional)
true to add a handler to handle just the next firing of the event, and then remove itself.
- order : String (optional)
The order of when the listener should be added into the listener queue.
If you set an order of before and the event you are listening to is preventable, you can return false and it will stop the event.
Available options are before, current and after.
Defaults to: current
- buffer : Number (optional)
Causes the handler to be delayed by the specified number of milliseconds. If the event fires again within that
time, the original handler is not invoked, but the new handler is scheduled in its place.
- element : String (optional)
Allows you to add a listener onto a element of this component using the elements reference.
Ext.create('Ext.Component', {
listeners: {
element: 'element',
tap: function() {
alert('element tap!');
}
}
});
All components have the element reference, which is the outer most element of the component. Ext.Container also has the
innerElement element which contains all children. In most cases element is adequate.
- delegate : String (optional)
Uses Ext.ComponentQuery to delegate events to a specified query selector within this item.
// Create a container with a two children; a button and a toolbar
var container = Ext.create('Ext.Container', {
items: [
{
xtype: 'toolbar',
docked: 'top',
title: 'My Toolbar'
},
{
xtype: 'button',
text: 'My Button'
}
]
});
container.on({
// Ext.Buttons have an xtype of 'button', so we use that are a selector for our delegate
delegate: 'button',
tap: function() {
alert('Button tapped!');
}
});
- order : String (optional)
The order of when the listener should be added into the listener queue.
Possible values are before, current and after.
Defaults to: 'current'
addManagedListener( object, eventName, [fn], [scope], [options] )deprecatedAdds listeners to any Observable object (or Element) which are automatically removed when this Component
is destroyed. ...Adds listeners to any Observable object (or Element) which are automatically removed when this Component
is destroyed.
This method has been deprecated since 2.0
All listeners are now automatically managed where necessary. Simply use addListener.
Available since: 1.1.0
Parameters
- object : Ext.mixin.Observable/HTMLElement
The item to which to add a listener/listeners.
- eventName : Object/String
The event name, or an object containing event name properties.
- fn : Function (optional)
If the eventName parameter was an event name, this is the handler function.
- scope : Object (optional)
If the eventName parameter was an event name, this is the scope in which
the handler function is executed.
- options : Object (optional)
If the eventName parameter was an event name, this is the
addListener options.
Call the original method that was previously overridden with override,
This method is deprecated as callParent does ...Call the original method that was previously overridden with override,
This method is deprecated as callParent does the same thing.
Ext.define('My.Cat', {
constructor: function() {
alert("I'm a cat!");
}
});
My.Cat.override({
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callOverridden();
alert("Meeeeoooowwww");
return instance;
}
});
var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
// alerts "I'm a cat!"
// alerts "Meeeeoooowwww"
This method has been deprecated
Use callParent instead
Available since: 2.0.0
Parameters
- args : Array/Arguments
The arguments, either an array or the arguments object
from the current method, for example: this.callOverridden(arguments)
Returns
- Object
Returns the result of calling the overridden method
Call the "parent" method of the current method. ...Call the "parent" method of the current method. That is the method previously
overridden by derivation or by an override (see Ext.define).
Ext.define('My.Base', {
constructor: function (x) {
this.x = x;
},
statics: {
method: function (x) {
return x;
}
}
});
Ext.define('My.Derived', {
extend: 'My.Base',
constructor: function () {
this.callParent([21]);
}
});
var obj = new My.Derived();
alert(obj.x); // alerts 21
This can be used with an override as follows:
Ext.define('My.DerivedOverride', {
override: 'My.Derived',
constructor: function (x) {
this.callParent([x*2]); // calls original My.Derived constructor
}
});
var obj = new My.Derived();
alert(obj.x); // now alerts 42
This also works with static methods.
Ext.define('My.Derived2', {
extend: 'My.Base',
statics: {
method: function (x) {
return this.callParent([x*2]); // calls My.Base.method
}
}
});
alert(My.Base.method(10)); // alerts 10
alert(My.Derived2.method(10)); // alerts 20
Lastly, it also works with overridden static methods.
Ext.define('My.Derived2Override', {
override: 'My.Derived2',
statics: {
method: function (x) {
return this.callParent([x*2]); // calls My.Derived2.method
}
}
});
alert(My.Derived2.method(10)); // now alerts 40
To override a method and replace it and also call the superclass method, use
callSuper. This is often done to patch a method to fix a bug.
Available since: 2.0.0
Parameters
- args : Array/Arguments
The arguments, either an array or the arguments object
from the current method, for example: this.callParent(arguments)
Returns
- Object
Returns the result of calling the parent method
This method is used by an override to call the superclass method but bypass any
overridden method. ...This method is used by an override to call the superclass method but bypass any
overridden method. This is often done to "patch" a method that contains a bug
but for whatever reason cannot be fixed directly.
Consider:
Ext.define('Ext.some.Class', {
method: function () {
console.log('Good');
}
});
Ext.define('Ext.some.DerivedClass', {
method: function () {
console.log('Bad');
// ... logic but with a bug ...
this.callParent();
}
});
To patch the bug in DerivedClass.method, the typical solution is to create an
override:
Ext.define('App.paches.DerivedClass', {
override: 'Ext.some.DerivedClass',
method: function () {
console.log('Fixed');
// ... logic but with bug fixed ...
this.callSuper();
}
});
The patch method cannot use callParent to call the superclass method since
that would call the overridden method containing the bug. In other words, the
above patch would only produce "Fixed" then "Good" in the console log, whereas,
using callParent would produce "Fixed" then "Bad" then "Good".
Available since: 2.1.0
Parameters
- args : Array/Arguments
The arguments, either an array or the arguments object
from the current method, for example: this.callSuper(arguments)
Returns
- Object
Returns the result of calling the superclass method
cleanup( The )privateCleans up any left over information from the request. ...Cleans up any left over information from the request.
Available since: 2.0.0
Parameters
- The : Object
request.
Removes all listeners for this object. ...Removes all listeners for this object.
Available since: 1.1.0
doFireEvent( eventName, args, action, connectedController )private doRemoveListener( name, fn, scope, options, order )private enableBubble( events )Enables events fired by this Observable to bubble up an owner hierarchy by calling this.getBubbleTarget() if
present. ... Fires the specified event with the passed parameters and execute a function (action)
at the end if there are no liste...Fires the specified event with the passed parameters and execute a function (action)
at the end if there are no listeners that return false.
Available since: 2.0.0
Parameters
- eventName : String
The name of the event to fire.
- args : Array
Arguments to pass to handers.
- fn : Function
Action.
- scope : Object
Scope of fn.
Returns
Fires the specified event with the passed parameters (minus the event name, plus the options object passed
to addList...Fires the specified event with the passed parameters (minus the event name, plus the options object passed
to addListener).
The first argument is the name of the event. Every other argument passed will be available when you listen for
the event.
Example
Firstly, we set up a listener for our new event.
this.on('myevent', function(arg1, arg2, arg3, arg4, options, e) {
console.log(arg1); // true
console.log(arg2); // 2
console.log(arg3); // { test: 'foo' }
console.log(arg4); // 14
console.log(options); // the options added when adding the listener
console.log(e); // the event object with information about the event
});
And then we can fire off the event.
this.fireEvent('myevent', true, 2, { test: 'foo' }, 14);
An event may be set to bubble up an Observable parent hierarchy by calling enableBubble.
Available since: 1.1.0
Parameters
- eventName : String
The name of the event to fire.
- args : Object...
Variable number of parameters are passed to handlers.
Returns
- Boolean
Returns false if any of the handlers return false, otherwise it returns true.
getAutoAbort( ) : Boolean getForm( options ) : HTMLElement/nullprivateGets the form object from options. ...Gets the form object from options.
Available since: 2.0.0
Parameters
- options : Object
The request options.
Returns
- HTMLElement/null
The form, null if not passed.
Retrieves the id of this component. ...Retrieves the id of this component. Will autogenerate an id if one has not already been set.
Available since: 2.0.0
Returns
- String
id
getListeners( ) : Object getManagedListeners( object, eventName )private getPassword( ) : String getTimeout( ) : Number getUsername( ) : String Initialize configuration for this class. ...Initialize configuration for this class. a typical example:
Ext.define('My.awesome.Class', {
// The default config
config: {
name: 'Awesome',
isAwesome: true
},
constructor: function(config) {
this.initConfig(config);
}
});
var awesome = new My.awesome.Class({
name: 'Super Awesome'
});
alert(awesome.getName()); // 'Super Awesome'
Available since: 2.0.0
Parameters
- instanceConfig : Object
Returns
- Object
mixins The mixin prototypes as key - value pairs
isFormUpload( options )privateDetects whether the form is intended to be used for an upload. ...Detects whether the form is intended to be used for an upload.
Available since: 2.0.0
Parameters
- options : Object
link( name, value ) : Mixedprivate mon( object, eventName, [fn], [scope], [options] )deprecatedAlias for addManagedListener. ...Alias for addManagedListener.
Adds listeners to any Observable object (or Element) which are automatically removed when this Component
is destroyed.
This method has been deprecated since 2.0.0
This is now done automatically
Available since: 2.0.0
Parameters
- object : Ext.mixin.Observable/HTMLElement
The item to which to add a listener/listeners.
- eventName : Object/String
The event name, or an object containing event name properties.
- fn : Function (optional)
If the eventName parameter was an event name, this is the handler function.
- scope : Object (optional)
If the eventName parameter was an event name, this is the scope in which
the handler function is executed.
- options : Object (optional)
If the eventName parameter was an event name, this is the
addListener options.
mun( object, eventName, [fn], [scope] )deprecatedAlias for removeManagedListener. ...Alias for removeManagedListener.
Adds listeners to any Observable object (or Element) which are automatically removed when this Component
is destroyed.
This method has been deprecated since 2.0.0
This is now done automatically
Available since: 2.0.0
Parameters
- object : Ext.mixin.Observable/HTMLElement
The item to which to add a listener/listeners.
- eventName : Object/String
The event name, or an object containing event name properties.
- fn : Function (optional)
If the eventName parameter was an event name, this is the handler function.
- scope : Object (optional)
If the eventName parameter was an event name, this is the scope in which
the handler function is executed.
on( eventName, fn, [scope], [options], [order] )Alias for addListener. ...Alias for addListener.
Appends an event handler to this object. You can review the available handlers by looking at the 'events'
section of the documentation for the component you are working with.
Combining Options
Using the options argument, it is possible to combine different types of listeners:
A delayed, one-time listener:
container.on('tap', this.handleTap, this, {
single: true,
delay: 100
});
Attaching multiple handlers in 1 call
The method also allows for a single argument to be passed which is a config object containing properties which
specify multiple events. For example:
container.on({
tap : this.onTap,
swipe: this.onSwipe,
scope: this // Important. Ensure "this" is correct during handler execution
});
One can also specify options for each event handler separately:
container.on({
tap : { fn: this.onTap, scope: this, single: true },
swipe: { fn: button.onSwipe, scope: button }
});
See the Events Guide for more.
Available since: 1.1.0
Parameters
- eventName : String/String[]/Object
The name of the event to listen for. May also be an object who's property names are
event names.
- fn : Function/String
The method the event invokes. Will be called with arguments given to
fireEvent plus the options parameter described below.
- scope : Object (optional)
The scope (this reference) in which the handler function is executed. If
omitted, defaults to the object which fired the event.
- options : Object (optional)
An object containing handler configuration.
This object may contain any of the following properties:
- scope : Object (optional)
The scope (this reference) in which the handler function is executed. If omitted, defaults to the object
which fired the event.
- delay : Number (optional)
The number of milliseconds to delay the invocation of the handler after the event fires.
- single : Boolean (optional)
true to add a handler to handle just the next firing of the event, and then remove itself.
- order : String (optional)
The order of when the listener should be added into the listener queue.
If you set an order of before and the event you are listening to is preventable, you can return false and it will stop the event.
Available options are before, current and after.
Defaults to: current
- buffer : Number (optional)
Causes the handler to be delayed by the specified number of milliseconds. If the event fires again within that
time, the original handler is not invoked, but the new handler is scheduled in its place.
- element : String (optional)
Allows you to add a listener onto a element of this component using the elements reference.
Ext.create('Ext.Component', {
listeners: {
element: 'element',
tap: function() {
alert('element tap!');
}
}
});
All components have the element reference, which is the outer most element of the component. Ext.Container also has the
innerElement element which contains all children. In most cases element is adequate.
- delegate : String (optional)
Uses Ext.ComponentQuery to delegate events to a specified query selector within this item.
// Create a container with a two children; a button and a toolbar
var container = Ext.create('Ext.Container', {
items: [
{
xtype: 'toolbar',
docked: 'top',
title: 'My Toolbar'
},
{
xtype: 'button',
text: 'My Button'
}
]
});
container.on({
// Ext.Buttons have an xtype of 'button', so we use that are a selector for our delegate
delegate: 'button',
tap: function() {
alert('Button tapped!');
}
});
- order : String (optional)
The order of when the listener should be added into the listener queue.
Possible values are before, current and after.
Defaults to: 'current'
onAfter( eventName, fn, [scope], [options] )Alias for addAfterListener. ...Alias for addAfterListener.
Appends an after-event handler.
Same as addListener with order set to 'after'.
Available since: 2.0.0
Parameters
onBefore( eventName, fn, [scope], [options] )Alias for addBeforeListener. ...Alias for addBeforeListener.
Appends a before-event handler. Returning false from the handler will stop the event.
Same as addListener with order set to 'before'.
Available since: 2.0.0
Parameters
onClassExtended( cls, data )private ...
Available since: 2.0.0
Parameters
Overrides: Ext.AbstractComponent.onClassExtended, Ext.Container.onClassExtended, Ext.draw.sprite.Sprite.onClassExtended
onConfigUpdate( names, callback, scope )private onStateChange( request )privateFires when the state of the XHR changes. ...Fires when the state of the XHR changes.
Available since: 1.1.0
Parameters
- request : Object
The request
onUploadComplete( frame, options )private Relays selected events from the specified Observable as if the events were fired by this. ... removeAfterListener( eventName, fn, [scope], [options] )Removes a before-event handler. ...Removes a before-event handler.
Same as removeListener with order set to 'after'.
Available since: 2.0.0
Parameters
removeBeforeListener( eventName, fn, [scope], [options] )Removes a before-event handler. ...Removes a before-event handler.
Same as removeListener with order set to 'before'.
Available since: 2.0.0
Parameters
removeDispatcherListener( selector, name, fn, scope, order )private removeListener( eventName, fn, [scope], [options], [order] )Removes an event handler. ...Removes an event handler.
Available since: 1.1.0
Parameters
- eventName : String/String[]/Object
The type of event the handler was associated with.
- fn : Function/String
The handler to remove. This must be a reference to the function passed into the
addListener call.
- scope : Object (optional)
The scope originally specified for the handler. It must be the same as the
scope argument specified in the original call to addListener or the listener will not be removed.
- options : Object (optional)
Extra options object. See addListener for details.
- order : String (optional)
The order of the listener to remove.
Possible values are before, current and after.
Defaults to: 'current'
removeManagedListener( object, eventName, [fn], [scope] )deprecatedAdds listeners to any Observable object (or Element) which are automatically removed when this Component
is destroyed. ...Adds listeners to any Observable object (or Element) which are automatically removed when this Component
is destroyed.
This method has been deprecated since 2.0
All listeners are now automatically managed where necessary. Simply use removeListener.
Available since: 1.1.0
Parameters
- object : Ext.mixin.Observable/HTMLElement
The item to which to add a listener/listeners.
- eventName : Object/String
The event name, or an object containing event name properties.
- fn : Function (optional)
If the eventName parameter was an event name, this is the handler function.
- scope : Object (optional)
If the eventName parameter was an event name, this is the scope in which
the handler function is executed.
Sends an HTTP request to a remote server. ...Sends an HTTP request to a remote server.
Important: Ajax server requests are asynchronous, and this call will
return before the response has been received. Process any returned data
in a callback function.
Ext.Ajax.request({
url: 'ajax_demo/sample.json',
success: function(response, opts) {
var obj = Ext.decode(response.responseText);
console.dir(obj);
},
failure: function(response, opts) {
console.log('server-side failure with status code ' + response.status);
}
});
To execute a callback function in the correct scope, use the scope option.
Available since: 1.1.0
Parameters
- options : Object
An object which may contain the following properties:
(The options object may also contain any other property which might be needed to perform
post-processing in a callback because it is passed to callback functions.)
- url : String/Function
The URL to which to send the request, or a function
to call which returns a URL string. The scope of the function is specified by the scope option.
Defaults to the configured url.
- params : Object/String/Function
An object containing properties which are
used as parameters to the request, a url encoded string or a function to call to get either. The scope
of the function is specified by the scope option.
- method : String
The HTTP method to use
for the request. Defaults to the configured method, or if no method was configured,
"GET" if no parameters are being sent, and "POST" if parameters are being sent.
Note: The method name is case-sensitive and should be all caps.
- callback : Function
The function to be called upon receipt of the HTTP response.
The callback is called regardless of success or failure and is passed the following parameters:
Parameters
- options : Object
The parameter to the request call.
- success : Boolean
true if the request succeeded.
- response : Object
The XMLHttpRequest object containing the response data.
See www.w3.org/TR/XMLHttpRequest/ for details about
accessing elements of the response.
- success : Function
- failure : Function
- scope : Object
The scope in which to execute the callbacks: The "this" object for
the callback function. If the url, or params options were specified as functions from which to
draw values, then this also serves as the scope for those function calls. Defaults to the browser
window.
- timeout : Number (optional)
The timeout in milliseconds to be used for this request.
Defaults to: 30000
- form : HTMLElement/HTMLElement/String
The <form> Element or the id of the <form>
to pull parameters from.
- isUpload : Boolean
Only meaningful when used with the form option.
True if the form object is a file upload (will be set automatically if the form was configured
with enctype "multipart/form-data").
File uploads are not performed using normal "Ajax" techniques, that is they are not
performed using XMLHttpRequests. Instead the form is submitted in the standard manner with the
DOM <form> element temporarily modified to have its target set to refer to a dynamically
generated, hidden <iframe> which is inserted into the document but removed after the return data
has been gathered.
The server response is parsed by the browser to create the document for the IFRAME. If the
server is using JSON to send the return object, then the Content-Type header must be set to
"text/html" in order to tell the browser to insert the text unchanged into the document body.
The response text is retrieved from the document, and a fake XMLHttpRequest object is created
containing a responseText property in order to conform to the requirements of event handlers
and callbacks.
Be aware that file upload packets are sent with the content type multipart/form and some server
technologies (notably JEE) may require some custom processing in order to retrieve parameter names
and parameter values from the packet content.
- headers : Object
Request headers to set for the request.
- xmlData : Object
XML document to use for the post.
Note: This will be used instead
of params for the post data. Any params will be appended to the URL.
- jsonData : Object/String
JSON data to use as the post.
Note: This will be used
instead of params for the post data. Any params will be appended to the URL.
- disableCaching : Boolean
True to add a unique cache-buster param to GET requests.
Returns
- Object/null
The request object. This may be used to cancel the request.
resumeEvents( )Resumes firing events (see suspendEvents). ...Resumes firing events (see suspendEvents).
Available since: 1.1.0
setAsync( async ) setAutoAbort( autoAbort ) setDisableCachingParam( disableCachingParam )Sets the value of disableCachingParam. ...Sets the value of disableCachingParam.
Available since: 2.0.0
Parameters
- disableCachingParam : String
setListeners( listeners ) setMethod( method ) setPassword( password ) setTimeout( timeout ) setUrl( url ) setUseDefaultXhrHeader( useDefaultXhrHeader )Sets the value of useDefaultXhrHeader. ...Sets the value of useDefaultXhrHeader.
Available since: 2.0.0
Parameters
- useDefaultXhrHeader : Boolean
setUsername( username ) setupHeaders( xhr, options, data, params )private Get the reference to the class from which this object was instantiated. ...Get the reference to the class from which this object was instantiated. Note that unlike self,
this.statics() is scope-independent and it always returns the class from which it was called, regardless of what
this points to during run-time
Ext.define('My.Cat', {
statics: {
totalCreated: 0,
speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
},
constructor: function() {
var statics = this.statics();
alert(statics.speciesName); // always equals to 'Cat' no matter what 'this' refers to
// equivalent to: My.Cat.speciesName
alert(this.self.speciesName); // dependent on 'this'
statics.totalCreated++;
},
clone: function() {
var cloned = new this.self(); // dependent on 'this'
cloned.groupName = this.statics().speciesName; // equivalent to: My.Cat.speciesName
return cloned;
}
});
Ext.define('My.SnowLeopard', {
extend: 'My.Cat',
statics: {
speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'
},
constructor: function() {
this.callParent();
}
});
var cat = new My.Cat(); // alerts 'Cat', then alerts 'Cat'
var snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'
var clone = snowLeopard.clone();
alert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'
alert(clone.groupName); // alerts 'Cat'
alert(My.Cat.totalCreated); // alerts 3
Available since: 2.0.0
Returns
Suspends the firing of all events. ...Suspends the firing of all events. (see resumeEvents)
Available since: 1.1.0
toggleListener( toggle, eventName, fn, scope, options, order )private un( eventName, fn, [scope], [options], [order] )Alias for removeListener. ...Alias for removeListener.
Removes an event handler.
Available since: 1.1.0
Parameters
- eventName : String/String[]/Object
The type of event the handler was associated with.
- fn : Function/String
The handler to remove. This must be a reference to the function passed into the
addListener call.
- scope : Object (optional)
The scope originally specified for the handler. It must be the same as the
scope argument specified in the original call to addListener or the listener will not be removed.
- options : Object (optional)
Extra options object. See addListener for details.
- order : String (optional)
The order of the listener to remove.
Possible values are before, current and after.
Defaults to: 'current'
unAfter( eventName, fn, [scope], [options] )Alias for removeAfterListener. ...Alias for removeAfterListener.
Removes a before-event handler.
Same as removeListener with order set to 'after'.
Available since: 2.0.0
Parameters
unBefore( eventName, fn, [scope], [options] )Alias for removeBeforeListener. ...Alias for removeBeforeListener.
Removes a before-event handler.
Same as removeListener with order set to 'before'.
Available since: 2.0.0
Parameters
upload( form, url, params, options )Uploads a form using a hidden iframe. ...Uploads a form using a hidden iframe.
Available since: 2.0.0
Parameters
- form : String/HTMLElement/Ext.Element
The form to upload.
- url : String
The url to post to.
- params : String
Any extra parameters to pass.
- options : Object
The initial options.
Aborts any outstanding request.
Available since: 1.1.0
Parameters
- request : Object (optional)
Defaults to the last request.
Aborts all outstanding requests.
Available since: 2.0.0
Appends an after-event handler.
Same as addListener with order set to 'after'.
Available since: 2.0.0
Parameters
Appends a before-event handler. Returning false from the handler will stop the event.
Same as addListener with order set to 'before'.
Available since: 2.0.0
Parameters
Adds the specified events to the list of events which this Observable may fire.
This method has been deprecated since 2.0
It's no longer needed to add events before firing.
Available since: 1.1.0
Parameters
Appends an event handler to this object. You can review the available handlers by looking at the 'events' section of the documentation for the component you are working with.
Combining Options
Using the options argument, it is possible to combine different types of listeners:
A delayed, one-time listener:
container.on('tap', this.handleTap, this, {
single: true,
delay: 100
});
Attaching multiple handlers in 1 call
The method also allows for a single argument to be passed which is a config object containing properties which specify multiple events. For example:
container.on({
tap : this.onTap,
swipe: this.onSwipe,
scope: this // Important. Ensure "this" is correct during handler execution
});
One can also specify options for each event handler separately:
container.on({
tap : { fn: this.onTap, scope: this, single: true },
swipe: { fn: button.onSwipe, scope: button }
});
See the Events Guide for more.
Available since: 1.1.0
Parameters
- eventName : String/String[]/Object
The name of the event to listen for. May also be an object who's property names are event names.
- fn : Function/String
The method the event invokes. Will be called with arguments given to fireEvent plus the
optionsparameter described below. - scope : Object (optional)
The scope (
thisreference) in which the handler function is executed. If omitted, defaults to the object which fired the event. - options : Object (optional)
An object containing handler configuration.
This object may contain any of the following properties:
- scope : Object (optional)
The scope (
thisreference) in which the handler function is executed. If omitted, defaults to the object which fired the event. - delay : Number (optional)
The number of milliseconds to delay the invocation of the handler after the event fires.
- single : Boolean (optional)
trueto add a handler to handle just the next firing of the event, and then remove itself. - order : String (optional)
The order of when the listener should be added into the listener queue.
If you set an order of
beforeand the event you are listening to is preventable, you can returnfalseand it will stop the event.Available options are
before,currentandafter.Defaults to:
current - buffer : Number (optional)
Causes the handler to be delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place.
- element : String (optional)
Allows you to add a listener onto a element of this component using the elements reference.
Ext.create('Ext.Component', { listeners: { element: 'element', tap: function() { alert('element tap!'); } } });All components have the
elementreference, which is the outer most element of the component. Ext.Container also has theinnerElementelement which contains all children. In most caseselementis adequate. - delegate : String (optional)
Uses Ext.ComponentQuery to delegate events to a specified query selector within this item.
// Create a container with a two children; a button and a toolbar var container = Ext.create('Ext.Container', { items: [ { xtype: 'toolbar', docked: 'top', title: 'My Toolbar' }, { xtype: 'button', text: 'My Button' } ] }); container.on({ // Ext.Buttons have an xtype of 'button', so we use that are a selector for our delegate delegate: 'button', tap: function() { alert('Button tapped!'); } });
- scope : Object (optional)
- order : String (optional)
The order of when the listener should be added into the listener queue. Possible values are
before,currentandafter.Defaults to:
'current'
Adds listeners to any Observable object (or Element) which are automatically removed when this Component is destroyed.
This method has been deprecated since 2.0
All listeners are now automatically managed where necessary. Simply use addListener.
Available since: 1.1.0
Parameters
- object : Ext.mixin.Observable/HTMLElement
The item to which to add a listener/listeners.
- eventName : Object/String
The event name, or an object containing event name properties.
- fn : Function (optional)
If the
eventNameparameter was an event name, this is the handler function. - scope : Object (optional)
If the
eventNameparameter was an event name, this is the scope in which the handler function is executed. - options : Object (optional)
If the
eventNameparameter was an event name, this is the addListener options.
Call the original method that was previously overridden with override,
This method is deprecated as callParent does the same thing.
Ext.define('My.Cat', {
constructor: function() {
alert("I'm a cat!");
}
});
My.Cat.override({
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callOverridden();
alert("Meeeeoooowwww");
return instance;
}
});
var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
// alerts "I'm a cat!"
// alerts "Meeeeoooowwww"
This method has been deprecated
Use callParent instead
Available since: 2.0.0
Parameters
- args : Array/Arguments
The arguments, either an array or the
argumentsobject from the current method, for example:this.callOverridden(arguments)
Returns
- Object
Returns the result of calling the overridden method
Call the "parent" method of the current method. That is the method previously overridden by derivation or by an override (see Ext.define).
Ext.define('My.Base', {
constructor: function (x) {
this.x = x;
},
statics: {
method: function (x) {
return x;
}
}
});
Ext.define('My.Derived', {
extend: 'My.Base',
constructor: function () {
this.callParent([21]);
}
});
var obj = new My.Derived();
alert(obj.x); // alerts 21
This can be used with an override as follows:
Ext.define('My.DerivedOverride', {
override: 'My.Derived',
constructor: function (x) {
this.callParent([x*2]); // calls original My.Derived constructor
}
});
var obj = new My.Derived();
alert(obj.x); // now alerts 42
This also works with static methods.
Ext.define('My.Derived2', {
extend: 'My.Base',
statics: {
method: function (x) {
return this.callParent([x*2]); // calls My.Base.method
}
}
});
alert(My.Base.method(10)); // alerts 10
alert(My.Derived2.method(10)); // alerts 20
Lastly, it also works with overridden static methods.
Ext.define('My.Derived2Override', {
override: 'My.Derived2',
statics: {
method: function (x) {
return this.callParent([x*2]); // calls My.Derived2.method
}
}
});
alert(My.Derived2.method(10)); // now alerts 40
To override a method and replace it and also call the superclass method, use callSuper. This is often done to patch a method to fix a bug.
Available since: 2.0.0
Parameters
- args : Array/Arguments
The arguments, either an array or the
argumentsobject from the current method, for example:this.callParent(arguments)
Returns
- Object
Returns the result of calling the parent method
This method is used by an override to call the superclass method but bypass any overridden method. This is often done to "patch" a method that contains a bug but for whatever reason cannot be fixed directly.
Consider:
Ext.define('Ext.some.Class', {
method: function () {
console.log('Good');
}
});
Ext.define('Ext.some.DerivedClass', {
method: function () {
console.log('Bad');
// ... logic but with a bug ...
this.callParent();
}
});
To patch the bug in DerivedClass.method, the typical solution is to create an
override:
Ext.define('App.paches.DerivedClass', {
override: 'Ext.some.DerivedClass',
method: function () {
console.log('Fixed');
// ... logic but with bug fixed ...
this.callSuper();
}
});
The patch method cannot use callParent to call the superclass method since
that would call the overridden method containing the bug. In other words, the
above patch would only produce "Fixed" then "Good" in the console log, whereas,
using callParent would produce "Fixed" then "Bad" then "Good".
Available since: 2.1.0
Parameters
- args : Array/Arguments
The arguments, either an array or the
argumentsobject from the current method, for example:this.callSuper(arguments)
Returns
- Object
Returns the result of calling the superclass method
Cleans up any left over information from the request.
Available since: 2.0.0
Parameters
- The : Object
request.
Removes all listeners for this object.
Available since: 1.1.0
Fires the specified event with the passed parameters and execute a function (action)
at the end if there are no listeners that return false.
Available since: 2.0.0
Parameters
- eventName : String
The name of the event to fire.
- args : Array
Arguments to pass to handers.
- fn : Function
Action.
- scope : Object
Scope of fn.
Returns
Fires the specified event with the passed parameters (minus the event name, plus the options object passed
to addListener).
The first argument is the name of the event. Every other argument passed will be available when you listen for the event.
Example
Firstly, we set up a listener for our new event.
this.on('myevent', function(arg1, arg2, arg3, arg4, options, e) {
console.log(arg1); // true
console.log(arg2); // 2
console.log(arg3); // { test: 'foo' }
console.log(arg4); // 14
console.log(options); // the options added when adding the listener
console.log(e); // the event object with information about the event
});
And then we can fire off the event.
this.fireEvent('myevent', true, 2, { test: 'foo' }, 14);
An event may be set to bubble up an Observable parent hierarchy by calling enableBubble.
Available since: 1.1.0
Parameters
- eventName : String
The name of the event to fire.
- args : Object...
Variable number of parameters are passed to handlers.
Returns
- Boolean
Returns
falseif any of the handlers returnfalse, otherwise it returnstrue.
Gets the form object from options.
Available since: 2.0.0
Parameters
- options : Object
The request options.
Returns
- HTMLElement/null
The form,
nullif not passed.
Retrieves the id of this component. Will autogenerate an id if one has not already been set.
Available since: 2.0.0
Returns
- String
id
Initialize configuration for this class. a typical example:
Ext.define('My.awesome.Class', {
// The default config
config: {
name: 'Awesome',
isAwesome: true
},
constructor: function(config) {
this.initConfig(config);
}
});
var awesome = new My.awesome.Class({
name: 'Super Awesome'
});
alert(awesome.getName()); // 'Super Awesome'
Available since: 2.0.0
Parameters
- instanceConfig : Object
Returns
- Object
mixins The mixin prototypes as key - value pairs
Detects whether the form is intended to be used for an upload.
Available since: 2.0.0
Parameters
- options : Object
Alias for addManagedListener.
Adds listeners to any Observable object (or Element) which are automatically removed when this Component is destroyed.
This method has been deprecated since 2.0.0
This is now done automatically
Available since: 2.0.0
Parameters
- object : Ext.mixin.Observable/HTMLElement
The item to which to add a listener/listeners.
- eventName : Object/String
The event name, or an object containing event name properties.
- fn : Function (optional)
If the
eventNameparameter was an event name, this is the handler function. - scope : Object (optional)
If the
eventNameparameter was an event name, this is the scope in which the handler function is executed. - options : Object (optional)
If the
eventNameparameter was an event name, this is the addListener options.
Alias for removeManagedListener.
Adds listeners to any Observable object (or Element) which are automatically removed when this Component is destroyed.
This method has been deprecated since 2.0.0
This is now done automatically
Available since: 2.0.0
Parameters
- object : Ext.mixin.Observable/HTMLElement
The item to which to add a listener/listeners.
- eventName : Object/String
The event name, or an object containing event name properties.
- fn : Function (optional)
If the
eventNameparameter was an event name, this is the handler function. - scope : Object (optional)
If the
eventNameparameter was an event name, this is the scope in which the handler function is executed.
Alias for addListener.
Appends an event handler to this object. You can review the available handlers by looking at the 'events' section of the documentation for the component you are working with.
Combining Options
Using the options argument, it is possible to combine different types of listeners:
A delayed, one-time listener:
container.on('tap', this.handleTap, this, {
single: true,
delay: 100
});
Attaching multiple handlers in 1 call
The method also allows for a single argument to be passed which is a config object containing properties which specify multiple events. For example:
container.on({
tap : this.onTap,
swipe: this.onSwipe,
scope: this // Important. Ensure "this" is correct during handler execution
});
One can also specify options for each event handler separately:
container.on({
tap : { fn: this.onTap, scope: this, single: true },
swipe: { fn: button.onSwipe, scope: button }
});
See the Events Guide for more.
Available since: 1.1.0
Parameters
- eventName : String/String[]/Object
The name of the event to listen for. May also be an object who's property names are event names.
- fn : Function/String
The method the event invokes. Will be called with arguments given to fireEvent plus the
optionsparameter described below. - scope : Object (optional)
The scope (
thisreference) in which the handler function is executed. If omitted, defaults to the object which fired the event. - options : Object (optional)
An object containing handler configuration.
This object may contain any of the following properties:
- scope : Object (optional)
The scope (
thisreference) in which the handler function is executed. If omitted, defaults to the object which fired the event. - delay : Number (optional)
The number of milliseconds to delay the invocation of the handler after the event fires.
- single : Boolean (optional)
trueto add a handler to handle just the next firing of the event, and then remove itself. - order : String (optional)
The order of when the listener should be added into the listener queue.
If you set an order of
beforeand the event you are listening to is preventable, you can returnfalseand it will stop the event.Available options are
before,currentandafter.Defaults to:
current - buffer : Number (optional)
Causes the handler to be delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place.
- element : String (optional)
Allows you to add a listener onto a element of this component using the elements reference.
Ext.create('Ext.Component', { listeners: { element: 'element', tap: function() { alert('element tap!'); } } });All components have the
elementreference, which is the outer most element of the component. Ext.Container also has theinnerElementelement which contains all children. In most caseselementis adequate. - delegate : String (optional)
Uses Ext.ComponentQuery to delegate events to a specified query selector within this item.
// Create a container with a two children; a button and a toolbar var container = Ext.create('Ext.Container', { items: [ { xtype: 'toolbar', docked: 'top', title: 'My Toolbar' }, { xtype: 'button', text: 'My Button' } ] }); container.on({ // Ext.Buttons have an xtype of 'button', so we use that are a selector for our delegate delegate: 'button', tap: function() { alert('Button tapped!'); } });
- scope : Object (optional)
- order : String (optional)
The order of when the listener should be added into the listener queue. Possible values are
before,currentandafter.Defaults to:
'current'
Alias for addAfterListener.
Appends an after-event handler.
Same as addListener with order set to 'after'.
Available since: 2.0.0
Parameters
Alias for addBeforeListener.
Appends a before-event handler. Returning false from the handler will stop the event.
Same as addListener with order set to 'before'.
Available since: 2.0.0
Parameters
Available since: 2.0.0
Parameters
Overrides: Ext.AbstractComponent.onClassExtended, Ext.Container.onClassExtended, Ext.draw.sprite.Sprite.onClassExtended
Fires when the state of the XHR changes.
Available since: 1.1.0
Parameters
- request : Object
The request
Removes a before-event handler.
Same as removeListener with order set to 'after'.
Available since: 2.0.0
Parameters
Removes a before-event handler.
Same as removeListener with order set to 'before'.
Available since: 2.0.0
Parameters
Removes an event handler.
Available since: 1.1.0
Parameters
- eventName : String/String[]/Object
The type of event the handler was associated with.
- fn : Function/String
The handler to remove. This must be a reference to the function passed into the addListener call.
- scope : Object (optional)
The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to addListener or the listener will not be removed.
- options : Object (optional)
Extra options object. See addListener for details.
- order : String (optional)
The order of the listener to remove. Possible values are
before,currentandafter.Defaults to:
'current'
Adds listeners to any Observable object (or Element) which are automatically removed when this Component is destroyed.
This method has been deprecated since 2.0
All listeners are now automatically managed where necessary. Simply use removeListener.
Available since: 1.1.0
Parameters
- object : Ext.mixin.Observable/HTMLElement
The item to which to add a listener/listeners.
- eventName : Object/String
The event name, or an object containing event name properties.
- fn : Function (optional)
If the
eventNameparameter was an event name, this is the handler function. - scope : Object (optional)
If the
eventNameparameter was an event name, this is the scope in which the handler function is executed.
Sends an HTTP request to a remote server.
Important: Ajax server requests are asynchronous, and this call will return before the response has been received. Process any returned data in a callback function.
Ext.Ajax.request({
url: 'ajax_demo/sample.json',
success: function(response, opts) {
var obj = Ext.decode(response.responseText);
console.dir(obj);
},
failure: function(response, opts) {
console.log('server-side failure with status code ' + response.status);
}
});
To execute a callback function in the correct scope, use the scope option.
Available since: 1.1.0
Parameters
- options : Object
An object which may contain the following properties:
(The options object may also contain any other property which might be needed to perform post-processing in a callback because it is passed to callback functions.)
- url : String/Function
The URL to which to send the request, or a function to call which returns a URL string. The scope of the function is specified by the
scopeoption. Defaults to the configuredurl. - params : Object/String/Function
An object containing properties which are used as parameters to the request, a url encoded string or a function to call to get either. The scope of the function is specified by the
scopeoption. - method : String
The HTTP method to use for the request. Defaults to the configured method, or if no method was configured, "GET" if no parameters are being sent, and "POST" if parameters are being sent.
Note: The method name is case-sensitive and should be all caps.
- callback : Function
The function to be called upon receipt of the HTTP response. The callback is called regardless of success or failure and is passed the following parameters:
Parameters
- options : Object
The parameter to the request call.
- success : Boolean
trueif the request succeeded. - response : Object
The XMLHttpRequest object containing the response data. See www.w3.org/TR/XMLHttpRequest/ for details about accessing elements of the response.
- options : Object
- success : Function
- failure : Function
- scope : Object
The scope in which to execute the callbacks: The "this" object for the callback function. If the
url, orparamsoptions were specified as functions from which to draw values, then this also serves as the scope for those function calls. Defaults to the browser window. - timeout : Number (optional)
The timeout in milliseconds to be used for this request.
Defaults to:
30000 - form : HTMLElement/HTMLElement/String
The
<form>Element or the id of the<form>to pull parameters from. - isUpload : Boolean
Only meaningful when used with the
formoption.True if the form object is a file upload (will be set automatically if the form was configured with
enctype"multipart/form-data").File uploads are not performed using normal "Ajax" techniques, that is they are not performed using XMLHttpRequests. Instead the form is submitted in the standard manner with the DOM
<form>element temporarily modified to have its target set to refer to a dynamically generated, hidden<iframe>which is inserted into the document but removed after the return data has been gathered.The server response is parsed by the browser to create the document for the IFRAME. If the server is using JSON to send the return object, then the Content-Type header must be set to "text/html" in order to tell the browser to insert the text unchanged into the document body.
The response text is retrieved from the document, and a fake XMLHttpRequest object is created containing a
responseTextproperty in order to conform to the requirements of event handlers and callbacks.Be aware that file upload packets are sent with the content type multipart/form and some server technologies (notably JEE) may require some custom processing in order to retrieve parameter names and parameter values from the packet content.
- headers : Object
Request headers to set for the request.
- xmlData : Object
XML document to use for the post.
Note: This will be used instead of params for the post data. Any params will be appended to the URL.
- jsonData : Object/String
JSON data to use as the post.
Note: This will be used instead of params for the post data. Any params will be appended to the URL.
- disableCaching : Boolean
True to add a unique cache-buster param to GET requests.
- url : String/Function
Returns
- Object/null
The request object. This may be used to cancel the request.
Resumes firing events (see suspendEvents).
Available since: 1.1.0
Sets the value of disableCachingParam.
Available since: 2.0.0
Parameters
- disableCachingParam : String
Sets the value of useDefaultXhrHeader.
Available since: 2.0.0
Parameters
- useDefaultXhrHeader : Boolean
Get the reference to the class from which this object was instantiated. Note that unlike self,
this.statics() is scope-independent and it always returns the class from which it was called, regardless of what
this points to during run-time
Ext.define('My.Cat', {
statics: {
totalCreated: 0,
speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
},
constructor: function() {
var statics = this.statics();
alert(statics.speciesName); // always equals to 'Cat' no matter what 'this' refers to
// equivalent to: My.Cat.speciesName
alert(this.self.speciesName); // dependent on 'this'
statics.totalCreated++;
},
clone: function() {
var cloned = new this.self(); // dependent on 'this'
cloned.groupName = this.statics().speciesName; // equivalent to: My.Cat.speciesName
return cloned;
}
});
Ext.define('My.SnowLeopard', {
extend: 'My.Cat',
statics: {
speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'
},
constructor: function() {
this.callParent();
}
});
var cat = new My.Cat(); // alerts 'Cat', then alerts 'Cat'
var snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'
var clone = snowLeopard.clone();
alert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'
alert(clone.groupName); // alerts 'Cat'
alert(My.Cat.totalCreated); // alerts 3
Available since: 2.0.0
Returns
Suspends the firing of all events. (see resumeEvents)
Available since: 1.1.0
Alias for removeListener.
Removes an event handler.
Available since: 1.1.0
Parameters
- eventName : String/String[]/Object
The type of event the handler was associated with.
- fn : Function/String
The handler to remove. This must be a reference to the function passed into the addListener call.
- scope : Object (optional)
The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to addListener or the listener will not be removed.
- options : Object (optional)
Extra options object. See addListener for details.
- order : String (optional)
The order of the listener to remove. Possible values are
before,currentandafter.Defaults to:
'current'
Alias for removeAfterListener.
Removes a before-event handler.
Same as removeListener with order set to 'after'.
Available since: 2.0.0
Parameters
Alias for removeBeforeListener.
Removes a before-event handler.
Same as removeListener with order set to 'before'.
Available since: 2.0.0
Parameters
Uploads a form using a hidden iframe.
Available since: 2.0.0
Parameters
- form : String/HTMLElement/Ext.Element
The form to upload.
- url : String
The url to post to.
- params : String
Any extra parameters to pass.
- options : Object
The initial options.
Static Methods addConfig( config, fullMerge )privatestatic addMember( name, member )chainableprivatestatic addMembers( members )chainablestaticAdd methods / properties to the prototype of this class. ...Add methods / properties to the prototype of this class.
Ext.define('My.awesome.Cat', {
constructor: function() {
// ...
}
});
My.awesome.Cat.addMembers({
meow: function() {
alert('Meowww...');
}
});
var kitty = new My.awesome.Cat();
kitty.meow();
Available since: 2.0.0
Parameters
- members : Object
Add / override static properties of this class. ...Add / override static properties of this class.
Ext.define('My.cool.Class', {
// this.se
});
My.cool.Class.addStatics({
someProperty: 'someValue', // My.cool.Class.someProperty = 'someValue'
method1: function() { }, // My.cool.Class.method1 = function() { ... };
method2: function() { } // My.cool.Class.method2 = function() { ... };
});
Available since: 2.0.0
Parameters
- members : Object
Returns
- Ext.Base
this
Borrow another class' members to the prototype of this class. ...Borrow another class' members to the prototype of this class.
Ext.define('Bank', {
money: '$$$',
printMoney: function() {
alert('$$$$$$$');
}
});
Ext.define('Thief', {
// ...
});
Thief.borrow(Bank, ['money', 'printMoney']);
var steve = new Thief();
alert(steve.money); // alerts '$$$'
steve.printMoney(); // alerts '$$$$$$$'
Available since: 2.0.0
Parameters
- fromClass : Ext.Base
The class to borrow members from
- members : Array/String
The names of the members to borrow
Returns
- Ext.Base
this
Create a new instance of this Class. ...Create a new instance of this Class.
Ext.define('My.cool.Class', {
// ...
});
My.cool.Class.create({
someConfig: true
});
All parameters are passed to the constructor of the class.
Available since: 2.0.0
Returns
- Object
the created instance.
createAlias( alias, origin )staticCreate aliases for existing prototype methods. ...Create aliases for existing prototype methods. Example:
Ext.define('My.cool.Class', {
method1: function() { },
method2: function() { }
});
var test = new My.cool.Class();
My.cool.Class.createAlias({
method3: 'method1',
method4: 'method2'
});
test.method3(); // test.method1()
My.cool.Class.createAlias('method5', 'method3');
test.method5(); // test.method3() -> test.method1()
Available since: 2.0.0
Parameters
- alias : String/Object
The new method name, or an object to set multiple aliases. See
flexSetter
- origin : String/Object
The original method name
Get the current class' name in string format. ...Get the current class' name in string format.
Ext.define('My.cool.Class', {
constructor: function() {
alert(this.self.getName()); // alerts 'My.cool.Class'
}
});
My.cool.Class.getName(); // 'My.cool.Class'
Available since: 2.0.0
Returns
- String
className
mixin( name, mixinClass )privatestatic onExtended( fn, scope )chainableprivatestatic Override members of this class. ...Override members of this class. Overridden methods can be invoked via
callParent.
Ext.define('My.Cat', {
constructor: function() {
alert("I'm a cat!");
}
});
My.Cat.override({
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callParent(arguments);
alert("Meeeeoooowwww");
return instance;
}
});
var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
// alerts "I'm a cat!"
// alerts "Meeeeoooowwww"
As of 2.1, direct use of this method is deprecated. Use Ext.define
instead:
Ext.define('My.CatOverride', {
override: 'My.Cat',
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callParent(arguments);
alert("Meeeeoooowwww");
return instance;
}
});
The above accomplishes the same result but can be managed by the Ext.Loader
which can properly order the override and its target class and the build process
can determine whether the override is needed based on the required state of the
target class (My.Cat).
This method has been deprecated since 2.1.0
Please use Ext.define instead
Available since: 2.0.0
Parameters
- members : Object
The properties to add to this class. This should be
specified as an object literal containing one or more properties.
Returns
- Ext.Base
this class
Add methods / properties to the prototype of this class.
Ext.define('My.awesome.Cat', {
constructor: function() {
// ...
}
});
My.awesome.Cat.addMembers({
meow: function() {
alert('Meowww...');
}
});
var kitty = new My.awesome.Cat();
kitty.meow();
Available since: 2.0.0
Parameters
- members : Object
Add / override static properties of this class.
Ext.define('My.cool.Class', {
// this.se
});
My.cool.Class.addStatics({
someProperty: 'someValue', // My.cool.Class.someProperty = 'someValue'
method1: function() { }, // My.cool.Class.method1 = function() { ... };
method2: function() { } // My.cool.Class.method2 = function() { ... };
});
Available since: 2.0.0
Parameters
- members : Object
Returns
- Ext.Base
this
Borrow another class' members to the prototype of this class.
Ext.define('Bank', {
money: '$$$',
printMoney: function() {
alert('$$$$$$$');
}
});
Ext.define('Thief', {
// ...
});
Thief.borrow(Bank, ['money', 'printMoney']);
var steve = new Thief();
alert(steve.money); // alerts '$$$'
steve.printMoney(); // alerts '$$$$$$$'
Available since: 2.0.0
Parameters
- fromClass : Ext.Base
The class to borrow members from
- members : Array/String
The names of the members to borrow
Returns
- Ext.Base
this
Create a new instance of this Class.
Ext.define('My.cool.Class', {
// ...
});
My.cool.Class.create({
someConfig: true
});
All parameters are passed to the constructor of the class.
Available since: 2.0.0
Returns
- Object
the created instance.
Create aliases for existing prototype methods. Example:
Ext.define('My.cool.Class', {
method1: function() { },
method2: function() { }
});
var test = new My.cool.Class();
My.cool.Class.createAlias({
method3: 'method1',
method4: 'method2'
});
test.method3(); // test.method1()
My.cool.Class.createAlias('method5', 'method3');
test.method5(); // test.method3() -> test.method1()
Available since: 2.0.0
Parameters
- alias : String/Object
The new method name, or an object to set multiple aliases. See flexSetter
- origin : String/Object
The original method name
Get the current class' name in string format.
Ext.define('My.cool.Class', {
constructor: function() {
alert(this.self.getName()); // alerts 'My.cool.Class'
}
});
My.cool.Class.getName(); // 'My.cool.Class'
Available since: 2.0.0
Returns
- String
className
Override members of this class. Overridden methods can be invoked via callParent.
Ext.define('My.Cat', {
constructor: function() {
alert("I'm a cat!");
}
});
My.Cat.override({
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callParent(arguments);
alert("Meeeeoooowwww");
return instance;
}
});
var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
// alerts "I'm a cat!"
// alerts "Meeeeoooowwww"
As of 2.1, direct use of this method is deprecated. Use Ext.define instead:
Ext.define('My.CatOverride', {
override: 'My.Cat',
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callParent(arguments);
alert("Meeeeoooowwww");
return instance;
}
});
The above accomplishes the same result but can be managed by the Ext.Loader which can properly order the override and its target class and the build process can determine whether the override is needed based on the required state of the target class (My.Cat).
This method has been deprecated since 2.1.0
Please use Ext.define instead
Available since: 2.0.0
Parameters
- members : Object
The properties to add to this class. This should be specified as an object literal containing one or more properties.
Returns
- Ext.Base
this class
Events
Fires before a network request is made to retrieve a data object.
Available since: 1.1.0
Parameters
- conn : Ext.data.Connection
This Connection object.
- options : Object
The options config object passed to the request method.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires if the request was successfully completed.
Available since: 1.1.0
Parameters
- conn : Ext.data.Connection
This Connection object.
- response : Object
The XHR object containing the response data. See The XMLHttpRequest Object for details.
- options : Object
The options config object passed to the request method.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires if an error HTTP status was returned from the server. See HTTP Status Code Definitions for details of HTTP status codes.
Available since: 1.1.0
Parameters
- conn : Ext.data.Connection
This Connection object.
- response : Object
The XHR object containing the response data. See The XMLHttpRequest Object for details.
- options : Object
The options config object passed to the request method.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.