Hierarchy
Ext.BaseExt.EventedExt.AbstractComponentExt.ComponentExt.ContainerExt.grid.infinite.GridMixins
Inherited mixins
Requires
Files
Description
An array of column definition objects which define all columns that appear in this grid. Each column definition provides the header text for the column, and a definition of where the data for that column comes from.
This can also be a configuration object for a {Ext.grid.header.Container HeaderContainer} which may override certain default configurations if necessary. For example, the special layout may be overridden to use a simpler layout, or one can set default values shared by all columns:
columns: {
items: [
{
text: "Column A"
dataIndex: "field_A"
},{
text: "Column B",
dataIndex: "field_B"
},
...
],
defaults: {
flex: 1
}
}
The item from the items collection that will be active first. This is usually only meaningful in a card layout, where only one item can be active at a time. If passes a string, it will be assumed to be a Ext.ComponentQuery selector.
Defaults to: 0
Allow users to deselect a record in a DataView, List or Grid. Only applicable when the Selectable's mode
is
'SINGLE'
.
Defaults to: false
If true
, child items will be destroyed as soon as they are removed
from this container.
Defaults to: true
The base CSS class to apply to this component's element. This will also be prepended to other elements within this component. To add specific styling for sub-classes, use the cls config.
Defaults to: Ext.baseCSSPrefix + 'grid'
Overrides: Ext.Component.baseCls
The border width to use on this Component. Can be specified as a number (in which case all edges get the same border width) or a CSS string like '5 10 10 10'.
Please note that this will not add
a border-color
or border-style
CSS property to the component; you must do that manually using either CSS or
the style configuration.
Ext.Viewport.add({
centered: true,
width: 100,
height: 100,
border: 3,
style: 'border-color: blue; border-style: solid;'
// ...
});
Ext.Viewport.add({
centered: true,
width: 100,
height: 100,
border: 3,
cls: 'my-component'
// ...
});
And your CSS file:
.my-component {
border-color: red;
border-style: solid;
}
The absolute bottom position of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
Explicitly setting this value will make this Component become 'floating', which means its layout will no
longer be affected by the Container that it resides in.
The event name to bubble, or an Array of event names.
The event name to bubble, or an Array of event names.
Animation to be used during transitions of cards.
Animation to be used during transitions of cards.
This cfg has been removed since 2.0.0
Please use Ext.layout.Card.animation instead
Whether or not this Component is absolutely centered inside its Container
Whether or not this Component is absolutely centered inside its Container
CSS class to add to this Component. Deprecated, please use cls instead
This cfg has been deprecated since 2.0.0
The configured element will automatically be added as the content of this component. When you pass a string, we expect it to be an element id. If the content element is hidden, we will automatically show it.
Enables you to easily control Components inside this Container by listening to their events and taking some action. For example, if we had a container with a nested Disable button, and we wanted to hide the Container when the Disable button is tapped, we could do this:
Ext.create('Ext.Container', {
control: {
'button[text=Disable]': {
tap: 'hideMe'
}
},
hideMe: function () {
this.hide();
}
});
We used a Ext.ComponentQuery selector to listen to the tap event on any
button anywhere inside the Container that has the text 'Disable'.
Whenever a Component matching that selector fires the tap
event our hideMe
function is called. hideMe
is
called with scope: this
(e.g. this
is the Container instance).
Defaults to: {}
The initial set of data to apply to the tpl
to
update the content area of the Component.
The initial set of data to apply to the tpl
to
update the content area of the Component.
Overrides: Ext.Component.data
The xtype used for the component based DataView. Defaults to dataitem. Note this is only used when useComponents is true.
Defaults to: 'gridrow'
Overrides: Ext.Container.defaultType
A set of default configurations to apply to all child Components in this Container. It's often useful to specify defaults when creating more than one items with similar configurations. For example here we can specify that each child is a panel and avoid repeating the xtype declaration for each one:
Ext.create('Ext.Container', {
defaults: {
xtype: 'panel'
},
items: [
{
html: 'Panel 1'
},
{
html: 'Panel 2'
}
]
});
true
to defer emptyText
being applied until the store's first load.
Defaults to: true
true
to deselect current selection when the container body is
clicked.
Defaults to: true
true
to disable selection.
This configuration will lock the selection model that the DataView uses.
The CSS class to add to the component when it is disabled
Defaults to: "x-item-disabled"
The dock position of this component in its container. Can be left
, top
, right
or bottom
.
Notes
You must use a HTML5 doctype for docked bottom
to work. To do this, simply add the following code to the HTML file:
<!doctype html>
So your index.html file should look a little like this:
<!doctype html>
<html>
<head>
<title>MY application title</title>
...
This cfg has been deprecated since 2.0.0
This has been deprecated. Please use docked instead.
The dock position of this component in its container. Can be left
, top
, right
or bottom
.
Notes
You must use a HTML5 doctype for docked bottom
to work. To do this, simply add the following code to the HTML file:
<!doctype html>
So your index.html file should look a little like this:
<!doctype html>
<html>
<head>
<title>MY application title</title>
...
Configuration options to make this Component draggable
Configuration options to make this Component draggable
The text to display in the view when there is no data to display
The text to display in the view when there is no data to display
Animation effect to apply when the Component is being shown. Typically you want to use an inbound animation type such as 'fadeIn' or 'slideIn'.
This cfg has been deprecated since 2.0.0
Please use showAnimation instead.
Animation effect to apply when the Component is being hidden.
This cfg has been deprecated since 2.0.0
Please use hideAnimation instead. Typically you want to use an outbound animation type such as 'fadeOut' or 'slideOut'.
The flex of this item if this item item is inside a Ext.layout.HBox or Ext.layout.VBox layout.
You can also update the flex of a component dynamically using the Ext.layout.FlexBox.setItemFlex method.
Deprecated, please use left, top, right or bottom instead.
Ext.Viewport.add({
top: 100,
left: 100,
width: 500,
height: 200,
html: 'Floating component!'
});
This cfg has been deprecated since 2.0.0
The CSS class to add to this component when it is floatable.
Defaults to: "x-floating"
Force the component to take up 100% width and height available, by adding it to Ext.Viewport.
Force the component to take up 100% width and height available, by adding it to Ext.Viewport.
The height of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
By default, if this is not explicitly set, this Component's element will simply have its own natural size.
If set to auto
, it will set the width to null
meaning it will have its own natural size.
Animation effect to apply when the Component is being hidden. Typically you want to use an outbound animation type such as 'fadeOut' or 'slideOut'. For more animations, check the Ext.fx.Animation.type config.
When using a modal Component, setting this to true
will hide the modal
mask and the Container when the mask is tapped on.
Overrides: Ext.Component.hideOnMaskTap
Optional HTML content to render inside this Component, or a reference to an existing element on the page.
Optional HTML content to render inside this Component, or a reference to an existing element on the page.
The unique id of this component instance.
It should not be necessary to use this configuration except for singleton objects in your application. Components created with an id may be accessed globally using Ext.getCmp.
Instead of using assigned ids, use the itemId config, and ComponentQuery which provides selector-based searching for Sencha Components analogous to DOM querying. The Ext.Container class contains shortcut methods to query its descendant Components by selector.
Note that this id will also be used as the element id for the containing HTML element that is rendered to the page for this component. This allows you to write id-based CSS rules to style the specific instance of this component uniquely, and also to select sub-elements using this component's id as the parent.
Note: to avoid complications imposed by a unique id also see itemId
.
Defaults to an auto-assigned id.
An itemId can be used as an alternative way to get a reference to a component when no object reference is
available. Instead of using an id
with Ext.getCmp, use itemId
with
Ext.Container.getComponent which will retrieve itemId
's or id's. Since itemId
's are an
index to the container's internal MixedCollection, the itemId
is scoped locally to the container - avoiding
potential conflicts with Ext.ComponentManager which requires a unique id
.
Also see id, Ext.Container.query, Ext.Container.down and Ext.Container.child.
The child items to add to this Container. This is usually an array of Component configurations or instances, for example:
Ext.create('Ext.Container', {
items: [
{
xtype: 'panel',
html: 'This is an item'
}
]
});
Configuration for this Container's layout. Example:
Ext.create('Ext.Container', {
layout: {
type: 'hbox',
align: 'middle'
},
items: [
{
xtype: 'panel',
flex: 1,
style: 'background-color: red;'
},
{
xtype: 'panel',
flex: 2,
style: 'background-color: green'
}
]
});
See the Layouts Guide for more information.
Defaults to: 'fit'
Overrides: Ext.Container.layout
true
to automatically re-layout this component on orientation change.
true
to automatically re-layout this component on orientation change.
This cfg has been removed since 2.0.0
The absolute left position of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
Explicitly setting this value will make this Component become 'floating', which means its layout will no
longer be affected by the Container that it resides in.
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()
.
A string to display during data load operations. If specified, this text will be displayed in a loading div and the view's contents will be cleared while loading, otherwise the view's contents will continue to display normally until the new data is loaded and the contents are replaced.
Defaults to: 'Loading...'
true
to disable selection.
This configuration will lock the selection model that the DataView uses.
This cfg has been deprecated since 2.0.0
Please use disableSelection instead.
The margin to use on this Component. Can be specified as a number (in which case all edges get the same margin) or a CSS string like '5 10 10 10'
A configuration to allow you to mask this container.
You can optionally pass an object block with and xtype of loadmask
, and an optional message
value to
display a loading mask. Please refer to the Ext.LoadMask component to see other configurations.
masked: {
xtype: 'loadmask',
message: 'My message'
}
Alternatively, you can just call the setter at any time with true
/false
to show/hide the mask:
setMasked(true); //show the mask
setMasked(false); //hides the mask
There are also two convenient methods, mask and unmask, to allow you to mask and unmask this container at any time.
Remember, the Ext.Viewport is always a container, so if you want to mask your whole application at anytime, can call:
Ext.Viewport.setMasked({
xtype: 'loadmask',
message: 'Hello'
});
The maximum height of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
If set to auto
, it will set the width to null
meaning it will have its own natural size.
Note that this config will not apply if the Component is 'floating' (absolutely positioned or centered)
The maximum width of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
If set to auto
, it will set the width to null
meaning it will have its own natural size.
Note that this config will not apply if the Component is 'floating' (absolutely positioned or centered)
The minimum height of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
If set to auto
, it will set the width to null
meaning it will have its own natural size.
The minimum width of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
If set to auto
, it will set the width to null
meaning it will have its own natural size.
true
to make this Container modal. This will create a mask underneath the Container
that covers its parent and does not allow the user to interact with any other Components until this
Container is dismissed.
Overrides: Ext.Component.modal, Ext.Container.modal
Modes of selection.
Valid values are 'SINGLE'
, 'SIMPLE'
, and 'MULTI'
.
Defaults to: 'SINGLE'
true
to monitor Orientation change.
true
to monitor Orientation change.
This cfg has been removed since 2.0.0
The padding to use on this Component. Can be specified as a number (in which case all edges get the same padding) or a CSS string like '5 10 10 10'
An object or array of objects that will provide custom functionality for this component. The only requirement for a valid plugin is that it contain an init method that accepts a reference of type Ext.Component.
When a component is created, if any plugins are available, the component will call the init method on each plugin, passing a reference to itself. Each plugin can then call methods or respond to events on the component as needed to provide its functionality.
For examples of plugins, see Ext.plugin.PullRefresh and Ext.plugin.ListPaging
A plugin by alias:
Ext.create('Ext.dataview.List', {
config: {
plugins: 'listpaging',
itemTpl: '<div class="item">{title}</div>',
store: 'Items'
}
});
Multiple plugins by alias:
Ext.create('Ext.dataview.List', {
config: {
plugins: ['listpaging', 'pullrefresh'],
itemTpl: '<div class="item">{title}</div>',
store: 'Items'
}
});
Single plugin by class name with config options:
Ext.create('Ext.dataview.List', {
config: {
plugins: {
xclass: 'Ext.plugin.ListPaging', // Reference plugin by class
autoPaging: true
},
itemTpl: '<div class="item">{title}</div>',
store: 'Items'
}
});
Multiple plugins by class name with config options:
Ext.create('Ext.dataview.List', {
config: {
plugins: [
{
xclass: 'Ext.plugin.PullRefresh',
pullRefreshText: 'Pull to refresh...'
},
{
xclass: 'Ext.plugin.ListPaging',
autoPaging: true
}
],
itemTpl: '<div class="item">{title}</div>',
store: 'Items'
}
});
A model instance which updates the Component's html based on it's tpl. Similar to the data configuration, but tied to to a record to make allow dynamic updates. This must be a model instance and not a configuration of one.
Optional element to render this Component to. Usually this is not needed because a Component is normally full screen or automatically rendered inside another Container
The absolute right position of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
Explicitly setting this value will make this Component become 'floating', which means its layout will no
longer be affected by the Container that it resides in.
An additional CSS class to apply to rows within the Grid.
An additional CSS class to apply to rows within the Grid.
Configuration options to make this Container scrollable. Acceptable values are:
'horizontal'
, 'vertical'
, 'both'
to enabling scrolling for that direction.true
/false
to explicitly enable/disable scrolling.Alternatively, you can give it an object which is then passed to the scroller instance:
scrollable: {
direction: 'vertical',
directionLock: true
}
Please look at the Ext.scroll.Scroller documentation for more example on how to use this.
This cfg has been deprecated since 2.0.0
Please use the scrollable configuration.
The scroll view.
Overrides: Ext.Component.scroll
Configuration options to make this Container scrollable. Acceptable values are:
'horizontal'
, 'vertical'
, 'both'
to enabling scrolling for that direction.true
/false
to explicitly enable/disable scrolling.Alternatively, you can give it an object which is then passed to the scroller instance:
scrollable: {
direction: 'vertical',
directionLock: true
}
Please look at the Ext.scroll.Scroller documentation for more example on how to use this.
The scroll view.
The CSS class to apply to an item on the view while it is selected.
Defaults to: Ext.baseCSSPrefix + 'row-selected'
Animation effect to apply when the Component is being shown. Typically you want to use an inbound animation type such as 'fadeIn' or 'slideIn'. For more animations, check the Ext.fx.Animation.type config.
true
to stop the event that fires when you click outside the floating component.
true
to stop the event that fires when you click outside the floating component.
This cfg has been removed since 2.0.0
Can be either a Store instance or a configuration object that will be turned into a Store. The Store is used to populate the set of items that will be rendered in the Grid.
Optional CSS styles that will be rendered into an inline style attribute when the Component is rendered.
You can pass either a string syntax:
style: 'background:red'
Or by using an object:
style: {
background: 'red'
}
When using the object syntax, you can define CSS Properties by using a string:
style: {
'border-left': '1px solid red'
}
Although the object syntax is much easier to read, we suggest you to use the string syntax for better performance.
The class that is added to the content target when you set styleHtmlContent
to true
.
Defaults to: "x-html"
true
to automatically style the HTML inside the content target of this component (body for panels).
Defaults to: false
The absolute top position of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
Explicitly setting this value will make this Component become 'floating', which means its layout will no
longer be affected by the Container that it resides in.
A String, Ext.Template, Ext.XTemplate or an Array of strings to form an Ext.XTemplate. Used in conjunction with the data and tplWriteMode configurations.
Note The data configuration must be set for any content to be shown in the component when using this configuration.
The Ext.(X)Template method to use when updating the content area of the Component. Valid modes are:
Defaults to: 'overwrite'
This configuration allows you optimize the list by not having it read the DOM heights of list items. Instead it will assume (and set) the height to be the itemHeight.
Defaults to: false
The width of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
By default, if this is not explicitly set, this Component's element will simply have its own natural size.
If set to auto
, it will set the width to null
meaning it will have its own natural size.
List of xtypes for Ext.Component. XTypes must not contain periods.
Ext.define('MyApp.CoolPanel', {
extend: 'Ext.panel.Panel',
xtype: 'coolpanel',
config: {
html : 'Yeah!'
}
});
// Using Ext.create
Ext.create('widget.coolpanel');
// Using the shorthand for widgets and in xtypes
Ext.widget('panel', {
items: [
{xtype: 'coolpanel', html: 'Foo'},
{xtype: 'coolpanel', html: 'Bar'}
]
});
The set of all items in this Container.
This property has been deprecated since 2.0.0
Please use getItems method instead.
Defaults to: /^(?:delegate|single|delay|buffer|args|prepend|element)$/
Overrides: Ext.mixin.Observable.listenerOptionsRegex
Defaults to: {id: 'bindable'}
Overrides: Ext.mixin.Selectable.mixinConfig, Ext.mixin.Traversable.mixinConfig
Defaults to: 'component'
Overrides: Ext.mixin.Observable.observableType
Defaults to: {addrecords: 'onSelectionStoreAdd', removerecords: 'onSelectionStoreRemove', updaterecord: 'onSelectionStoreUpdate', load: 'refreshSelection', refresh: 'refreshSelection'}
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'
Adds one or more Components to this Container. Example:
var myPanel = Ext.create('Ext.Panel', {
html: 'This will be added to a Container'
});
myContainer.add([myPanel]);
The new items to add to the Container.
The last item added to the Container from the newItems
array.
Appends an after-event handler.
Same as addListener with order
set to 'after'
.
The name of the event to listen for.
The method the event invokes.
The scope for fn
.
An object containing handler configuration.
Appends a before-event handler. Returning false
from the handler will stop the event.
Same as addListener with order
set to 'before'
.
The name of the event to listen for.
The method the event invokes.
The scope for fn
.
An object containing handler configuration.
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.
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.
Using the options argument, it is possible to combine different types of listeners:
A delayed, one-time listener:
container.addListener('tap', this.handleTap, this, {
single: true,
delay: 100
});
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.addListener({
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.addListener({
tap : { fn: this.onTap, scope: this, single: true },
swipe: { fn: button.onSwipe, scope: button }
});
See the Events Guide for more.
The name of the event to listen for. May also be an object who's property names are event names.
The method the event invokes. Will be called with arguments given to
fireEvent plus the options
parameter described below.
The scope (this
reference) in which the handler function is executed. If
omitted, defaults to the object which fired the event.
An object containing handler configuration.
This object may contain any of the following properties:
The scope (this
reference) in which the handler function is executed. If omitted, defaults to the object
which fired the event.
The number of milliseconds to delay the invocation of the handler after the event fires.
true
to add a handler to handle just the next firing of the event, and then remove itself.
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
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.
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.
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.addListener({
// Ext.Buttons have an xtype of 'button', so we use that are a selector for our delegate
delegate: 'button',
tap: function() {
alert('Button tapped!');
}
});
The order of when the listener should be added into the listener queue.
Possible values are before
, current
and after
.
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.
The item to which to add a listener/listeners.
The event name, or an object containing event name properties.
If the eventName
parameter was an event name, this is the handler function.
If the eventName
parameter was an event name, this is the scope in which
the handler function is executed.
If the eventName
parameter was an event name, this is the
addListener options.
Significantly improve instantiation time for Component with multiple references Ext.Element instance of the reference domNode is only created the very first time it's ever used.
Used to handle joining of a record to a tpl
Used to handle joining of a record to a tpl
Animates to the supplied activeItem
with a specified animation. Currently this only works
with a Card layout. This passed animation will override any default animations on the
container, for a single card switch. The animation will be destroyed when complete.
The item or item index to make active.
Card animation configuration or instance.
Changes the masked configuration when its setter is called, which will convert the value into a proper object/instance of Ext.Mask/Ext.LoadMask. If a mask already exists, it will use that instead.
We create complex instance arrays and objects in beforeInitialize so that we can use these inside of the initConfig process.
Overrides: Ext.Component.beforeInitialize
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"
The arguments, either an array or the arguments
object
from the current method, for example: this.callOverridden(arguments)
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.
The arguments, either an array or the arguments
object
from the current method, for example: this.callParent(arguments)
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".
The arguments, either an array or the arguments
object
from the current method, for example: this.callSuper(arguments)
Returns the result of calling the superclass method
Retrieves the first direct child of this container which matches the passed selector. The passed in selector must comply with an Ext.ComponentQuery selector.
An Ext.ComponentQuery selector.
Deselects any currently selected records and clears all stored selections.
This method has been deprecated since 2.0.0
Please use deselectAll instead.
Deselects the given record(s). If many records are currently selected, it will only deselect those you pass in.
The record(s) to deselect. Can also be a number to reference by index.
If true
the deselect
event will not be fired.
Deselects a record instance by record instance or index.
This method has been deprecated since 2.0.0
Please use deselect instead.
An array of records or an index.
Set to false
to not fire a deselect event.
Selects a record instance by record instance or index.
This method has been deprecated since 2.0.0
Please use select instead.
An array of records or an index.
Set to false
to not fire a select event.
Retrieves the first descendant of this container which matches the passed selector. The passed in selector must comply with an Ext.ComponentQuery selector.
An Ext.ComponentQuery selector.
Fires the specified event with the passed parameters and execute a function (action)
at the end if there are no listeners that return false
.
The name of the event to fire.
Arguments to pass to handers.
Action.
Scope of fn.
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.
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.
The name of the event to fire.
Variable number of parameters are passed to handlers.
Returns false
if any of the handlers return false
.
Returns the Component for a given index in the Container's items.
The index of the Component to return.
The item at the specified index
, if found.
Examines this container's items
property
and gets a direct child component of this container.
This parameter may be any of the following:
itemId
or id
of the child component.items
property.For additional information see Ext.util.MixedCollection.get.
The component (if found).
Returns the number of selections.
This method has been deprecated since 2.0.0
Please use getSelectionCount instead.
Current Alignment information from the last alignTo call
Finds a docked item of this container using a reference, id
or an index
of its location
in getDockedItems.
The docked component, if found.
Returns all the Ext.Component.docked items in this container.
The docked items of this container.
Retrieves the top level element representing this component.
This method has been deprecated since 2.0.0
Please access the Component's element from the element
property instead, i.e:
var element = component.element;
Overrides: Ext.Component.getElementConfig
Returns the value of enterAnimation.
This method has been deprecated since 2.0.0
Please use showAnimation instead.
Returns the value of exitAnimation.
This method has been deprecated since 2.0.0
Please use hideAnimation instead. Typically you want to use an outbound animation type such as 'fadeOut' or 'slideOut'.
Retrieves the id of this component. Will autogenerate an id if one has not already been set.
id
Returns the array of previously selected items.
This method has been deprecated since 2.0.0
The previous selection.
Returns the parent of this component, if it has one.
The parent of this component.
Used by ComponentQuery to retrieve all of the items
which can potentially be considered a child of this Container.
This should be overridden by components which have child items
that are not contained in items. For example dockedItems
, menu
, etc
Returns an the scrollable instance for this container, which is a Ext.scroll.View class.
Please checkout the documentation for Ext.scroll.View, Ext.scroll.View.getScroller and Ext.scroll.Scroller for more information.
The scroll view.
Returns this Component's xtype hierarchy as a slash-delimited string. For a list of all available xtypes, see the Ext.Component header.
Note: If using your own subclasses, be aware that a Component must register its own xtype to participate in determination of inherited xtypes.
Example usage:
var t = new Ext.field.Text();
alert(t.getXTypes()); // alerts 'component/field/textfield'
The xtype hierarchy string.
Method called when the Store's Reader throws an exception
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'
mixins The mixin prototypes as key - value pairs
Allows addition of behavior to the rendering phase.
This is a template method. a hook into the functionality of this class. Feel free to override it in child classes.
Overrides: Ext.Evented.initialize, Ext.Component.initialize, Ext.picker.Picker.initialize
Adds a child Component at the given index. For example, here's how we can add a new item, making it the first child Component of this Container:
myContainer.insert(0, {xtype: 'panel', html: 'new item'});
Returns true
if this Component is currently disabled.
true
if currently disabled.
Returns true
if the Selectable is currently locked.
This method has been deprecated since 2.0.0
Please use getDisableSelection instead.
True if currently locked
Returns true
if the specified row is selected.
The record or index of the record to check.
Tests whether or not this Component is of a specific xtype. This can test whether this Component is descended
from the xtype (default) or whether it is directly of the xtype specified (shallow = true
).
If using your own subclasses, be aware that a Component must register its own xtype
to participate in determination of inherited xtypes.
For a list of all available xtypes, see the Ext.Component header.
Example usage:
var t = new Ext.field.Text();
var isText = t.isXType('textfield'); // true
var isBoxSubclass = t.isXType('field'); // true, descended from Ext.field.Field
var isBoxInstance = t.isXType('field', true); // false, not a direct Ext.field.Field instance
The xtype to check for this Component.
false
to check whether this Component is descended from the xtype (this is
the default), or true
to check whether this Component is directly of the specified xtype.
true
if this component descends from the specified xtype, false
otherwise.
Alias for addManagedListener.
This method has been deprecated since 2.0.0
This is now done automatically
The item to which to add a listener/listeners.
The event name, or an object containing event name properties.
If the eventName
parameter was an event name, this is the handler function.
If the eventName
parameter was an event name, this is the scope in which
the handler function is executed.
If the eventName
parameter was an event name, this is the
addListener options.
Alias for removeManagedListener.
This method has been deprecated since 2.0.0
This is now done automatically
The item to which to add a listener/listeners.
The event name, or an object containing event name properties.
If the eventName
parameter was an event name, this is the handler function.
If the eventName
parameter was an event name, this is the scope in which
the handler function is executed.
Alias for addListener.
The name of the event to listen for. May also be an object who's property names are event names.
The method the event invokes. Will be called with arguments given to
fireEvent plus the options
parameter described below.
The scope (this
reference) in which the handler function is executed. If
omitted, defaults to the object which fired the event.
An object containing handler configuration.
This object may contain any of the following properties:
The scope (this
reference) in which the handler function is executed. If omitted, defaults to the object
which fired the event.
The number of milliseconds to delay the invocation of the handler after the event fires.
true
to add a handler to handle just the next firing of the event, and then remove itself.
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
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.
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.
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.addListener({
// Ext.Buttons have an xtype of 'button', so we use that are a selector for our delegate
delegate: 'button',
tap: function() {
alert('Button tapped!');
}
});
The order of when the listener should be added into the listener queue.
Possible values are before
, current
and after
.
Defaults to: 'current'
Initialize layout and event listeners the very first time an item is added
Handling adds and removes like this is fine for now. It should not perform much slower then a dedicated solution TODO: implement logic to not do full refreshes when this list is non-infinite
Retrieves all descendant components which match the passed selector. Executes an Ext.ComponentQuery.query using this container as its root.
Selector complying to an Ext.ComponentQuery selector.
Ext.Component's which matched the selector.
Refreshes the view by reloading the data from the store and re-rendering the template.
Removes an item from this Container, optionally destroying it.
The item to remove.
Calls the Component's destroy
method if true
.
this
Removes a before-event handler.
Same as removeListener with order
set to 'after'
.
The name of the event the handler was associated with.
The handler to remove.
The scope originally specified for fn
.
Extra options object.
Removes all items currently in the Container, optionally destroying them all.
If true
, destroys
each removed Component.
If true
, completely remove all items including
docked / centered and floating items.
this
Removes the Component at the specified index:
myContainer.removeAt(0); // removes the first item
The index of the Component to remove.
this
Removes a before-event handler.
Same as removeListener with order
set to 'before'
.
The name of the event the handler was associated with.
The handler to remove.
The scope originally specified for fn
.
Extra options object.
Removes a docked item from this Container.
This method has been deprecated since 2.0.0
Please use remove instead.
this
Removes an inner Component at the specified index:
myContainer.removeInnerAt(0); // removes the first item of the innerItems property
The index of the Component to remove.
this
Removes an event handler.
The type of event the handler was associated with.
The handler to remove. This must be a reference to the function passed into the addListener call.
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.
Extra options object. See addListener for details.
The order of the listener to remove.
Possible values are before
, current
and after
.
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.
The item to which to add a listener/listeners.
The event name, or an object containing event name properties.
If the eventName
parameter was an event name, this is the handler function.
If the eventName
parameter was an event name, this is the scope in which
the handler function is executed.
Replaces specified classes with the newly specified classes. It uses the addCls and removeCls methods, so if the class(es) you are removing don't exist, it will still add the new classes.
The class(es) to remove.
The class(es) to add.
Optional prefix to prepend before each class.
Defaults to: ""
Optional suffix to append to each class.
Defaults to: ""
Resumes firing events (see suspendEvents).
Pass as true to discard any queued events.
Adds the given records to the currently selected set.
The records to select.
If true
, the existing selection will be added to (if not, the old selection is replaced).
If true
, the select
event will not be fired.
Selects a range of rows if the selection model getDisableSelection is not locked.
All rows in between startRecord
and endRecord
are also selected.
The index of the first row in the range.
The index of the last row in the range.
true
to retain existing selections.
Provides differentiation of logic between MULTI, SIMPLE and SINGLE selection modes.
Sets the value of defaultType.
Overrides: Ext.Container.setDefaultType
Sets the value of enterAnimation.
This method has been deprecated since 2.0.0
Please use showAnimation instead.
Sets the value of exitAnimation.
This method has been deprecated since 2.0.0
Please use hideAnimation instead. Typically you want to use an outbound animation type such as 'fadeOut' or 'slideOut'.
This was an internal function accidentally exposed in 1.x and now deprecated. Calling it has no effect
This method has been deprecated since 2.0.0
Sets the value of scrollable.
The scroll view.
Overrides: Ext.Component.setScrollable
Shows this component optionally using an animation.
Overrides: Ext.Component.show, Ext.Container.show
Shows this component by another component. If you specify no alignment, it will automatically position this component relative to the reference component.
For example, say we are aligning a Panel next to a Button, the alignment string would look like this:
[panel-vertical (t/b/c)][panel-horizontal (l/r/c)]-[button-vertical (t/b/c)][button-horizontal (l/r/c)]
where t = top, b = bottom, c = center, l = left, r = right.
tl-tr
means top-left corner of the Panel to the top-right corner of the Buttontc-bc
means top-center of the Panel to the bottom-center of the ButtonYou can put a '?' at the end of the alignment string to constrain the floating element to the Viewport
// show `panel` by `button` using the default positioning (auto fit)
panel.showBy(button);
// align the top left corner of `panel` with the top right corner of `button` (constrained to viewport)
panel.showBy(button, "tl-tr?");
// align the bottom right corner of `panel` with the center left edge of `button` (not constrained by viewport)
panel.showBy(button, "br-cl");
The target component to show this component by.
The specific alignment.
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
Suspends the firing of all events.
All events will be queued but you can discard the queued events by passing false in the resumeEvents call
Add or removes a class based on if the class is already added to the Component.
The class to toggle.
this
Alias for removeListener.
The type of event the handler was associated with.
The handler to remove. This must be a reference to the function passed into the addListener call.
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.
Extra options object. See addListener for details.
The order of the listener to remove.
Possible values are before
, current
and after
.
Defaults to: 'current'
Walks up the ownerCt
axis looking for an ancestor Container which matches
the passed simple selector.
Example:
var owningTabPanel = grid.up('tabpanel');
The simple selector to test.
The matching ancestor Container (or undefined
if no match was found).
Sets a record as the last focused record. This does NOT mean that the record has been selected.
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();
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() { ... };
});
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 '$$$$$$$'
The class to borrow members from
The names of the members to borrow
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.
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()
The new method name, or an object to set multiple aliases. See flexSetter
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'
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
The properties to add to this class. This should be specified as an object literal containing one or more properties.
this class
Fires whenever item within the Container is activated.
The new active item within the container.
The Container instance.
The old active item within the container.
The options object passed to Ext.util.Observable.addListener.
Fires when the activeItem configuration is changed by setActiveItem.
The Ext.Container instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires whenever item added to the Container.
The Container instance.
The item added to the Container.
The index of the item within the Container.
The options object passed to Ext.util.Observable.addListener.
Fires before orientation changes.
This event has been removed since 2.0.0
This event is now only available onBefore
the Viewport's Ext.Viewport.orientationchange
The options object passed to Ext.util.Observable.addListener.
Fires before an item is selected.
This event has been deprecated since 2.0.0
Please listen to the selectionchange event with an order of before
instead.
This action following this event is preventable. When any of the listeners returns false, the action is cancelled.
The options object passed to Ext.util.Observable.addListener.
Fires when the bottom configuration is changed by setBottom.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the centered configuration is changed by setCentered.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires whenever item within the Container is deactivated.
The old active item within the container.
The Container instance.
The new active item within the container.
The options object passed to Ext.util.Observable.addListener.
Fires when the component is destroyed
The options object passed to Ext.util.Observable.addListener.
Fires when the disabled configuration is changed by setDisabled.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the docked configuration is changed by setDocked.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the component is no longer displayed in the DOM. Listening to this event will degrade performance not recommend for general use.
The component instance
The options object passed to Ext.util.Observable.addListener.
Fires when the flex configuration is changed by setFlex.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires whenever there is a change in the floating status of a component
The component instance
The component's new floating state
The options object passed to Ext.util.Observable.addListener.
Fires whenever a Component with the fullscreen config is instantiated
The component instance
The options object passed to Ext.util.Observable.addListener.
Fires when the height configuration is changed by setHeight.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires whenever the Component is hidden
The component instance
The options object passed to Ext.util.Observable.addListener.
Fires when the component has been initialized
The component instance
The options object passed to Ext.util.Observable.addListener.
Fires when the left configuration is changed by setLeft.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the maxHeight configuration is changed by setMaxHeight.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the maxWidth configuration is changed by setMaxWidth.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the minHeight configuration is changed by setMinHeight.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the minWidth configuration is changed by setMinWidth.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires whenever item moved within the Container.
The Container instance.
The item moved within the Container.
The new index of the item.
The old index of the item.
The options object passed to Ext.util.Observable.addListener.
Fires when orientation changes.
This event has been removed since 2.0.0
This event is now only available on the Viewport's Ext.Viewport.orientationchange
The options object passed to Ext.util.Observable.addListener.
Fires whenever this Element actually becomes visible (painted) on the screen. This is useful when you need to perform 'read' operations on the DOM element, i.e: calculating natural sizes and positioning.
Note: This event is not available to be used with event delegation. Instead painted
only fires if you explicitly
add at least one listener to it, for performance reasons.
The component's outer element (this.element)
The options object passed to Ext.util.Observable.addListener.
Fires whenever item removed from the Container.
The Container instance.
The item removed from the Container.
The index of the item that was removed.
The options object passed to Ext.util.Observable.addListener.
Fires whenever an item is rendered into a container or derendered from a Container.
The Container instance.
The item in the Container.
The current rendered status of the item.
The options object passed to Ext.util.Observable.addListener.
Important note: For the best performance on mobile devices, use this only when you absolutely need to monitor a Element's size.
Note: This event is not available to be used with event delegation. Instead resize
only fires if you explicitly
add at least one listener to it, for performance reasons.
The component's outer element (this.element)
The options object passed to Ext.util.Observable.addListener.
Fires when the right configuration is changed by setRight.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the scrollable configuration is changed by setScrollable.
The Ext.Container instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
The scroll view.
Fires when a selection changes.
The records whose selection has changed.
The options object passed to Ext.util.Observable.addListener.
Fires whenever the Component is shown
The component instance
The options object passed to Ext.util.Observable.addListener.
Fires when the top configuration is changed by setTop.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires whenever the data of the component is updated
The component instance
The new data
The options object passed to Ext.util.Observable.addListener.
Fires when the width configuration is changed by setWidth.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.