Ext.viewport.Default
Hierarchy
Ext.BaseExt.EventedExt.AbstractComponentExt.ComponentExt.ContainerExt.viewport.DefaultInherited mixins
Requires
Subclasses
Files
NOTE This is a private utility class for internal use by the framework. Don't rely on its existence.
Base class for iOS and Andorid viewports.
Available since: 2.0.0
Config options
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
Defaults to: 0
Available since: 1.1.0
If true, child items will be destroyed as soon as they are removed from this container
Defaults to: true
Available since: 1.1.0
Whether or not to always automatically maximize the viewport on first load and all subsequent orientation changes.
This is set to false by default for a number of reasons:
- Orientation change performance is drastically reduced when this is enabled, on all devices.
- On some devices (mostly Android) this can sometimes cause issues when the default browser zoom setting is changed.
- When wrapping your phone in a native shell, you may get a blank screen.
- When bookmarked to the homescreen (iOS), you may get a blank screen.
Defaults to: false
Available since: 2.0.0
The base CSS class to apply to this components's element. This will also be prepended to other elements within this component. To add specific styling for sub-classes, use the cls config.
Available since: 1.1.0
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.
Using style:
Ext.Viewport.add({
centered: true,
width: 100,
height: 100,
border: 3,
style: 'border-color: blue; border-style: solid;',
...
});
Using CSS:
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;
}
Available since: 1.1.0
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.
Available since: 2.0.0
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
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
Available since: 1.1.0
Whether or not this Component is absolutely centered inside its Container
Whether or not this Component is absolutely centered inside its Container
Available since: 1.1.0
CSS class to add to this Component. Deprecated, please use cls instead
This cfg has been deprecated since 2.0.0
Available since: 1.1.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.
Available since: 1.1.0
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: {}
Available since: 2.0.0
The default xtype of child Components to create in this Container when a child item is specified as a raw configuration object, rather than as an instantiated Component.
Available since: 1.1.0
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'
}
]
});
Available since: 1.1.0
Whether or not this component is disabled
Whether or not this component is disabled
Available since: 1.1.0
The CSS class to add to the component when it is disabled
The CSS class to add to the component when it is disabled
Available since: 1.1.0
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.
Available since: 2.0.0
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>
...
Available since: 2.0.0
Configuration options to make this Component draggable
Configuration options to make this Component draggable
Available since: 1.1.0
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.
Available since: 2.0.0
Animation effect to apply when the Component is being hidden.
This cfg has been deprecated
2.0.0 Please use hideAnimation instead. Typically you want to use an outbound animation type such as 'fadeOut' or 'slideOut'.
Available since: 2.0.0
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.AbstractBox.setItemFlex method.
Available since: 2.0.0
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
Available since: 1.1.0
The CSS class to add to this component when it is floatable.
The CSS class to add to this component when it is floatable.
Available since: 1.1.0
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.
Available since: 1.1.0
Animation effect to apply when the Component is being hidden. Typically you want to use an outbound animation type such as 'fadeOut' or 'slideOut'.
Available since: 2.0.0
When using a modal Component, setting this to true will hide the modal mask and the Container when the mask is tapped on
When using a modal Component, setting this to true will hide the modal mask and the Container when the mask is tapped on
Available since: 1.1.0
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.
Available since: 1.1.0
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.
Defaults to: 'ext-viewport'
Available since: 2.0.0
Overrides: Ext.Component.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.
Available since: 2.0.0
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'
}
]
});
Available since: 1.1.0
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 card
Defaults to: 'card'
Available since: 2.0.0
Overrides: Ext.Container.layout
True to automatically relayout this component on orientation change.
True to automatically relayout this component on orientation change.
This cfg has been removed since 2.0.0
Available since: 1.1.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.
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 listeners 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 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'
Available since: 1.1.0
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 convience 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'
});
Available since: 2.0.0
The maximum height of this Component; must be a valid CSS length value, e.g: 300, 100px, 30%, etc.
Note that this config will not apply if the Component is 'floating' (absolutely positioned or centered)
Available since: 1.1.0
The maximum width of this Component; must be a valid CSS length value, e.g: 300, 100px, 30%, etc.
Note that this config will not apply if the Component is 'floating' (absolutely positioned or centered)
Available since: 1.1.0
The minimum height of this Component; must be a valid CSS length value, e.g: 300, 100px, 30%, etc.
The minimum height of this Component; must be a valid CSS length value, e.g: 300, 100px, 30%, etc.
Available since: 1.1.0
The minimum width of this Component; must be a valid CSS length value, e.g: 300, 100px, 30%, etc.
The minimum width of this Component; must be a valid CSS length value, e.g: 300, 100px, 30%, etc.
Available since: 1.1.0
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
Available since: 1.1.0
Overrides: Ext.Component.modal
True to monitor Orientation change.
True to monitor Orientation change.
This cfg has been removed since 2.0.0
Available since: 1.1.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'
Available since: 1.1.0
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
Example code
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'
}
});
Available since: 1.1.0
Whether or not to always prevent default panning behavior of the browser's viewport
Defaults to: true
Available since: 2.0.0
True to attempt to stop zooming when you double tap on the screen on mobile devices, typically HTC devices with HTC Sense UI
Defaults to: false
Available since: 2.0.0
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.
Available since: 2.0.0
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
Available since: 1.1.0
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.
Available since: 2.0.0
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.
Available since: 1.1.0
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.
Available since: 2.0.0
Animation effect to apply when the Component is being shown. Typically you want to use an inbound animation type such as 'fadeIn' or 'slideIn'.
Available since: 1.1.0
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
Available since: 1.1.0
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.
Available since: 1.1.0
The class that is added to the content target when you set styleHtmlContent to true.
The class that is added to the content target when you set styleHtmlContent to true.
Available since: 1.1.0
True to automatically style the html inside the content target of this component (body for panels).
Defaults to: false
Available since: 1.1.0
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.
Available since: 2.0.0
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.
Available since: 1.1.0
The Ext.(X)Template method to use when
updating the content area of the Component. Defaults to 'overwrite'
(see Ext.XTemplate.overwrite).
Defaults to: 'overwrite'
Available since: 1.1.0
The xtype configuration option can be used to optimize Component creation and rendering. It serves as a
shortcut to the full componet name. For example, the component Ext.button.Button has an xtype of button.
You can define your own xtype on a custom component by specifying the
alias config option with a prefix of widget. For example:
Ext.define('PressMeButton', {
extend: 'Ext.button.Button',
alias: 'widget.pressmebutton',
text: 'Press Me'
})
Any Component can be created implicitly as an object config with an xtype specified, allowing it to be declared and passed into the rendering pipeline without actually being instantiated as an object. Not only is rendering deferred, but the actual creation of the object itself is also deferred, saving memory and resources until they are actually needed. In complex, nested layouts containing many Components, this can make a noticeable improvement in performance.
// Explicit creation of contained Components:
var panel = new Ext.Panel({
...
items: [
Ext.create('Ext.button.Button', {
text: 'OK'
})
]
};
// Implicit creation using xtype:
var panel = new Ext.Panel({
...
items: [{
xtype: 'button',
text: 'OK'
}]
};
In the first example, the button will always be created immediately during the panel's initialization. With many added Components, this approach could potentially slow the rendering of the page. In the second example, the button will not be created or rendered until the panel is actually displayed in the browser. If the panel is never displayed (for example, if it is a tab that remains hidden) then the button will never be created and will never consume any resources whatsoever.
Defaults to: 'component'
Available since: 2.0.0
Properties
Instance Properties delegateListeners : Objectprivate ...
Defaults to: {delegate: '> component', centeredchange: 'onItemCenteredChange', dockedchange: 'onItemDockedChange', floatingchange: 'onItemFloatingChange'}
Available since: 2.0.0
dockPositions : Objectprivatereadonly ...
Defaults to: {top: true, right: true, bottom: true, left: true}
Available since: 2.0.0
fullscreenItemCls : Stringprivate ...
Defaults to: Ext.baseCSSPrefix + 'fullscreen'
Available since: 2.0.0
items : Ext.util.MixedCollectiondeprecatedThe set of all items in this Container. ...The set of all items in this Container.
This property has been deprecated since 2.0.0
Please use getItems method instead.
Available since: 1.1.0
listenerOptionsRegex : RegExpprivate ...
Defaults to: /^(?:delegate|single|delay|buffer|args|prepend|element)$/
Available since: 2.0.0
Overrides: Ext.mixin.Observable.listenerOptionsRegex
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); / dependentOL 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
Defaults to: {delegate: '> component', centeredchange: 'onItemCenteredChange', dockedchange: 'onItemDockedChange', floatingchange: 'onItemFloatingChange'}
Available since: 2.0.0
Defaults to: {top: true, right: true, bottom: true, left: true}
Available since: 2.0.0
Defaults to: Ext.baseCSSPrefix + 'fullscreen'
Available since: 2.0.0
The set of all items in this Container.
This property has been deprecated since 2.0.0
Please use getItems method instead.
Available since: 1.1.0
Defaults to: /^(?:delegate|single|delay|buffer|args|prepend|element)$/
Available since: 2.0.0
Overrides: Ext.mixin.Observable.listenerOptionsRegex
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); / dependentOL 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 Creates new Component. ...Creates new Component.
Available since: 2.0.0
Parameters
- config : Object
The standard configuration object.
Returns
Overrides: Ext.Container.constructor
add( newItems )Adds one or more Components to this Container. ...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]);
Available since: 1.1.0
Parameters
- newItems : Array
The new items to add to the Container
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
The name of the event to listen for. May also be an object who's property names are
event names.
- fn : Function
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
The scope (this reference) in which the handler function is executed. If omitted, defaults to the object
which fired the event.
delay : Number
The number of milliseconds to delay the invocation of the handler after the event fires.
single : Boolean
True to add a handler to handle just the next firing of the event, and then remove itself.
order : String
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
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
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() {
console.log('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
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.
addReferenceNode( name, domNode )privateSignificantly improve instantiation time for Component with multiple references
Ext.Element instance of the reference...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
Available since: 2.0.0
Parameters
addWindowListener( eventName, fn, capturing )private afterEdit( )privateUsed to handle joining of a record to a tpl ...Used to handle joining of a record to a tpl
Available since: 2.0.0
afterErase( )privateUsed to handle joining of a record to a tpl ...Used to handle joining of a record to a tpl
Available since: 2.0.0
alignTo( component, alignment )private animateActiveItem( activeItem, animation )Animates to the supplied activeItem with a specified animation. ...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.
Available since: 2.0.0
Parameters
- activeItem : Object/Number
The item or item index to make active
- animation : Object/Ext.fx.layout.Card
Card animation configuration or instance
animateFn( animation, component, newState, oldState, options, controller )private applyActiveItem( activeItem, currentActiveItem )private applyCls( cls )privateChecks if the cls is a string. ...Checks if the cls is a string. If it is, changed it into an array
Available since: 2.0.0
Parameters
- cls : Object
applyItems( items, collection )private applyMasked( masked, currentMask )Changes the masked configuration when its setter is called, which will convert the value
into a proper object/instanc...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.
Available since: 2.0.0
Parameters
applyModal( modal, currentMask )private Call the original method that was previously overridden with override
Ext.define('My.Cat', {
constructor: functi...Call the original method that was previously overridden with override
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"
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
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
changeListener( operation, eventName, fn, scope, options, order )private Retrieves the first direct child of this container which matches the passed selector. ...Retrieves the first direct child of this container which matches the passed selector.
The passed in selector must comply with an Ext.ComponentQuery selector.
Available since: 1.1.0
Parameters
- selector : String
An Ext.ComponentQuery selector
Returns
Removes all listeners for this object. ...Removes all listeners for this object.
Available since: 1.1.0
destroy( )Destroys this Component. ...
Destroys this Component. If it is currently added to a Container it will first be removed from that Container.
All Ext.Element references are also deleted and the Component is de-registered from Ext.ComponentManager
Available since: 1.1.0
Overrides: Ext.Component.destroy
doAddListener( name, fn, scope, options )private ... doFireEvent( eventName, args, action, connectedController )private doItemLayoutAdd( item, index )private doItemLayoutMove( item, toIndex, fromIndex )private doItemLayoutRemove( item, index )private doRemove( item, index, destroy )private doRemoveListener( name, fn, scope, options, order )private doSet( me, value, oldValue, options )private doSetActiveItem( newActiveItem, oldActiveItem )private Retrieves the first descendant of this container which matches the passed selector. ...Retrieves the first descendant of this container which matches the passed selector.
The passed in selector must comply with an Ext.ComponentQuery selector.
Available since: 1.1.0
Parameters
- selector : String
An Ext.ComponentQuery selector
Returns
enableBubble( events )Enables events fired by this Observable to bubble up an owner hierarchy by calling this.getBubbleTarget() if
present. ... fireAction( eventName, args, fn, scope )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
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.
fireOrientationChangeEvent( newOrientation, oldOrientation )private Returns the Component for a given index in the Container's items ...Returns the Component for a given index in the Container's items
Available since: 2.0.0
Parameters
- index : Number
The index of the Component to return
Returns
- Ext.Component
The item at the specified index, if found
getBaseCls( ) : String getBubbleTarget( )private ...
Available since: 1.1.0
Overrides: Ext.mixin.Observable.getBubbleTarget
getCentered( ) : Boolean Examines this container's items property
and gets a direct child component of this container. ...Examines this container's items property
and gets a direct child component of this container.
Available since: 1.1.0
Parameters
- component : String/Number
This parameter may be any of the following:
For additional information see Ext.util.MixedCollection.get.
Returns
- Object
Ext.Component The component (if found).
getControl( ) : Object getDefaults( ) : Object getDisabled( ) : Boolean Finds a docked item of this container using a reference, id or an index of its location
in getDockedItems. ...Finds a docked item of this container using a reference, id or an index of its location
in getDockedItems.
Available since: 2.0.0
Parameters
Returns
- Ext.Component/Boolean
The docked component, if found
getDockedItems( ) : ArrayReturns all the Ext.Component.docked items in this container. ...Returns all the Ext.Component.docked items in this container.
Available since: 2.0.0
Returns
- Array
The docked items of this container
getEl( ) : Ext.dom.ElementdeprecatedRetrieves the top level element representing this component. ...Retrieves the top level element representing this component.
This method has been deprecated
2.0.0 Please access the Component's element from the 'element' property instead, i.e:
var element = component.element;
Available since: 1.1.0
Returns
getEnterAnimation( ) : String/MixeddeprecatedReturns the value of enterAnimation. ...Returns the value of enterAnimation.
This method has been deprecated since 2.0.0
Please use showAnimation instead.
Available since: 2.0.0
Returns
- String/Mixed
getExitAnimation( ) : String/MixeddeprecatedReturns the value of exitAnimation. ...Returns the value of exitAnimation.
This method has been deprecated
2.0.0 Please use hideAnimation instead. Typically you want to use an
outbound animation type such as 'fadeOut' or 'slideOut'.
Available since: 2.0.0
Returns
- String/Mixed
Returns the value of height. ... getHiddenCls( ) : String 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
getInnerItems( ) : Array Returns the value of layout. ... getListeners( ) : Object getManagedListeners( object, eventName )private getParent( ) : Ext.ComponentReturns the parent of this component, if it has one. ...Returns the parent of this component, if it has one.
Available since: 2.0.0
Returns
- Ext.Component
The parent of this component.
getRefItems( deep )privateUsed by ComponentQuery to retrieve all of the items
which can potentially be considered a child of this Container. ...Used by ComponentQuery to retrieve all of the items
which can potentially be considered a child of this Container.
This should be overriden by components which have child items
that are not contained in items. For example dockedItems, menu, etc
Available since: 1.1.0
Parameters
- deep : Object
Returns an the scrollable instance for this container, which is a Ext.scroll.View class. ...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.
Available since: 2.0.0
Returns
- Ext.scroll.View
The scroll view
Returns the height and width of the Component ...Returns the height and width of the Component
Available since: 2.0.0
Returns
- Object
The current height and width of the Component
Overrides: Ext.Component.getSize
Returns the value of tpl. ... Returns this Component's xtype hierarchy as a slash-delimited string. ...Returns this Component's xtype hierarchy as a slash-delimited string. For a list of all
available xtypes, see the Ext.Component header.
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'
Available since: 1.1.0
Returns
- String
The xtype hierarchy string
Returns true if this component has a parent. ...Returns true if this component has a parent.
Available since: 2.0.0
Returns
- Boolean
true if this component has a parent.
Hides this Component ... 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
initialize( )protectedtemplateAllows addition of behavior to the rendering phase. ...Allows addition of behavior to the rendering phase.
Available since: 2.0.0
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
insert( index, item )Adds a child Component at the given index. ...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'});
Available since: 1.1.0
Parameters
isDisabled( ) : BooleanReturns true if this Component is currently disabled ...Returns true if this Component is currently disabled
Available since: 1.1.0
Returns
- Boolean
True if currently disabled
Returns true if this Component is currently hidden ...Returns true if this Component is currently hidden
Available since: 1.1.0
Returns
- Boolean
True if currently hidden
Tests whether or not this Component is of a specific xtype. ...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
Available since: 1.1.0
Parameters
- xtype : String
The xtype to check for this Component
- shallow : Boolean (optional)
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.
Returns
- Boolean
True if this component descends from the specified xtype, false otherwise.
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
The name of the event to listen for. May also be an object who's property names are
event names.
- fn : Function
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
The scope (this reference) in which the handler function is executed. If omitted, defaults to the object
which fired the event.
delay : Number
The number of milliseconds to delay the invocation of the handler after the event fires.
single : Boolean
True to add a handler to handle just the next firing of the event, and then remove itself.
order : String
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
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
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() {
console.log('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
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( Class, members )private ... onConfigUpdate( names, callback, scope )private onFirstItemAdd( )privateInitialize layout and event listeners the very first time an item is added ...Initialize layout and event listeners the very first time an item is added
Available since: 2.0.0
onItemCenteredChange( item, centered )private onItemDockedChange( item, docked, oldDocked )private onItemFloatingChange( item, floating )private onItemMove( item, toIndex, fromIndex )private onItemRemove( item, index )private Retrieves all descendant components which match the passed selector. ...Retrieves all descendant components which match the passed selector.
Executes an Ext.ComponentQuery.query using this container as its root.
Available since: 1.1.0
Parameters
- selector : String
Selector complying to an Ext.ComponentQuery selector
Returns
- Array
Ext.Component's which matched the selector
refreshShowBy( component, alignment )private Relays selected events from the specified Observable as if the events were fired by this. ... Removes an item from this Container, optionally destroying it ...Removes an item from this Container, optionally destroying it
Available since: 1.1.0
Parameters
Returns
- Ext.Component
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
Removes all items currently in the Container, optionally destroying them all ...Removes all items currently in the Container, optionally destroying them all
Available since: 1.1.0
Parameters
- destroy : Boolean
If true, destroys each removed Component
- everything : Boolean
If true, completely remove all items including docked / centered and floating items
Returns
- Ext.Component
this
Removes the Component at the specified index:
myContainer.removeAt(0); //removes the first item ...Removes the Component at the specified index:
myContainer.removeAt(0); //removes the first item
Available since: 2.0.0
Parameters
- index : Number
The index of the Component to remove
Returns
- Ext.Container
this
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
removeCls( cls, prefix, suffix )Removes the given CSS class(es) from this Component's rendered element ... removeDispatcherListener( selector, name, fn, scope, order )private Removes a docked item from this Container. ...Removes a docked item from this Container.
This method has been deprecated since 2.0.0
Please use remove instead.
Available since: 2.0.0
Parameters
Returns
- Ext.Component
this
Removes an inner Component at the specified index:
myContainer.removeInnerAt(0); //removes the first item of the inn...Removes an inner Component at the specified index:
myContainer.removeInnerAt(0); //removes the first item of the innerItems propety
Available since: 2.0.0
Parameters
- index : Number
The index of the Component to remove
Returns
- Ext.Container
this
removeListener( eventName, fn, [scope], [options], [order] )Removes an event handler. ...Removes an event handler.
Available since: 1.1.0
Parameters
- eventName : String
The type of event the handler was associated with.
- fn : Function
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.
removeWindowListener( eventName, fn, capturing )private renderTo( container, insertBeforeElement )private replaceCls( oldCls, newCls, prefix, suffix ) resumeEvents( )Resumes firing events (see suspendEvents). ...Resumes firing events (see suspendEvents).
If events were suspended using the queueSuspended parameter, then all events fired
during event suspension will be sent to any listeners now.
Available since: 1.1.0
setBaseCls( baseCls ) setBorder( border ) setBottom( bottom ) setCentered( centered ) setCls( cls ) setContentEl( contentEl )Sets the value of contentEl. ...Sets the value of contentEl.
Available since: 2.0.0
Parameters
- contentEl : Ext.Element/HTMLElement/String
setControl( control ) setDefaults( defaults ) setDisabled( disabled ) setDocked( docked ) setDraggable( draggable ) setEnterAnimation( enterAnimation )deprecatedSets the value of enterAnimation. ...Sets the value of enterAnimation.
This method has been deprecated since 2.0.0
Please use showAnimation instead.
Available since: 2.0.0
Parameters
- enterAnimation : String/Mixed
setExitAnimation( exitAnimation )deprecatedSets the value of exitAnimation. ...Sets the value of exitAnimation.
This method has been deprecated
2.0.0 Please use hideAnimation instead. Typically you want to use an
outbound animation type such as 'fadeOut' or 'slideOut'.
Available since: 2.0.0
Parameters
- exitAnimation : String/Mixed
setHeight( height )privateSets the value of height. ...Sets the value of height.
Available since: 2.0.0
Parameters
- height : String
Overrides: Ext.Component.setHeight
setHidden( hidden ) setHiddenCls( hiddenCls ) setItemId( itemId ) setItems( items ) setLayout( layout )Sets the value of layout. ... setLeft( left ) setListeners( listeners ) setMargin( margin ) setMasked( masked )Sets the value of masked. ...Sets the value of masked.
Available since: 2.0.0
Parameters
- masked : Boolean/Object/Ext.Mask/Ext.LoadMask
setMaxHeight( maxHeight ) setMaxWidth( maxWidth ) setMinHeight( minHeight ) setMinWidth( minWidth ) setModal( modal ) setPadding( padding ) ...
Available since: 2.0.0
Parameters
- parent : Object
Returns
- Ext.Component
this
Overrides: Ext.mixin.Traversable.setParent
setPlugins( plugins ) setRight( right ) setScrollable( scrollable )Sets the value of scrollable. ...Sets the value of scrollable.
Available since: 1.1.0
Parameters
Overrides: Ext.Component.setScrollable
setSize( width, height ) setStyle( style ) setTop( top ) setTpl( tpl )Sets the value of tpl. ...Sets the value of tpl.
Available since: 2.0.0
Parameters
- tpl : String/String[]/Ext.Template[]/Ext.XTemplate[]
setUi( ui ) setWidth( width )privateSets the value of width. ...Sets the value of width.
Available since: 2.0.0
Parameters
- width : String
Overrides: Ext.Component.setWidth
setZIndex( zIndex ) Shows this component ... showBy( component, [alignment] )Shows this component by another component. ...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.
Examples
tl-tr means top-left corner of the Panel to the top-right corner of the Button
tc-bc means top-center of the Panel to the bottom-center of the Button
You 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");
Available since: 1.1.0
Parameters
- component : Ext.Component
The target component to show this component by
- alignment : String (optional)
The specific alignment.
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
suspendEvents( queueSuspended )Suspends the firing of all events. ...Suspends the firing of all events. (see resumeEvents)
Available since: 1.1.0
Parameters
- queueSuspended : Boolean
Pass as true to queue up suspended events to be fired
after the resumeEvents call instead of discarding all suspended events.
translateAxis( axis, value, animation )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
The type of event the handler was associated with.
- fn : Function
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
Walks up the ownerCt axis looking for an ancestor Container which matches
the passed simple selector. ...Walks up the ownerCt axis looking for an ancestor Container which matches
the passed simple selector.
Example:
var owningTabPanel = grid.up('tabpanel');
Available since: 1.1.0
Parameters
- selector : String
Optional. The simple selector to test.
Returns
- Ext.Container
The matching ancestor Container (or undefined if no match was found).
update( )deprecated updateBaseCls( newBaseCls, oldBaseCls )private ... updateCls( newCls, oldCls )private updateContentEl( newContentEl, oldContentEl )private updateDisabledCls( newDisabledCls, oldDisabledCls )private updateFloatingCls( newFloatingCls, oldFloatingCls )private updateHiddenCls( newHiddenCls, oldHiddenCls )private updateLayout( newLayout, oldLayout )private updateModal( newModal, oldModal )private updatePlugins( newPlugins, oldPlugins )private updateRecord( newRecord, oldRecord )private updateStyleHtmlCls( newHtmlCls, oldHtmlCls )Updates the styleHtmlCls configuration ...
Creates new Component.
Available since: 2.0.0
Parameters
- config : Object
The standard configuration object.
Returns
Overrides: Ext.Container.constructor
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]);
Available since: 1.1.0
Parameters
- newItems : Array
The new items to add to the Container
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
The name of the event to listen for. May also be an object who's property names are event names.
- fn : Function
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
The scope (
thisreference) in which the handler function is executed. If omitted, defaults to the object which fired the event.delay : Number
The number of milliseconds to delay the invocation of the handler after the event fires.
single : Boolean
True to add a handler to handle just the next firing of the event, and then remove itself.
order : String
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 tocurrent.buffer : Number
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
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() { console.log('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
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,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.
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
Available since: 2.0.0
Parameters
Used to handle joining of a record to a tpl
Available since: 2.0.0
Used to handle joining of a record to a tpl
Available since: 2.0.0
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.
Available since: 2.0.0
Parameters
- activeItem : Object/Number
The item or item index to make active
- animation : Object/Ext.fx.layout.Card
Card animation configuration or instance
Checks if the cls is a string. If it is, changed it into an array
Available since: 2.0.0
Parameters
- cls : Object
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.
Available since: 2.0.0
Parameters
Call the original method that was previously overridden with override
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"
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
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
Retrieves the first direct child of this container which matches the passed selector. The passed in selector must comply with an Ext.ComponentQuery selector.
Available since: 1.1.0
Parameters
- selector : String
An Ext.ComponentQuery selector
Returns
Removes all listeners for this object.
Available since: 1.1.0
Destroys this Component. If it is currently added to a Container it will first be removed from that Container. All Ext.Element references are also deleted and the Component is de-registered from Ext.ComponentManager
Available since: 1.1.0
Overrides: Ext.Component.destroy
Retrieves the first descendant of this container which matches the passed selector. The passed in selector must comply with an Ext.ComponentQuery selector.
Available since: 1.1.0
Parameters
- selector : String
An Ext.ComponentQuery selector
Returns
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
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.
Returns the Component for a given index in the Container's items
Available since: 2.0.0
Parameters
- index : Number
The index of the Component to return
Returns
- Ext.Component
The item at the specified index, if found
Available since: 1.1.0
Overrides: Ext.mixin.Observable.getBubbleTarget
Examines this container's items property
and gets a direct child component of this container.
Available since: 1.1.0
Parameters
- component : String/Number
This parameter may be any of the following:
For additional information see Ext.util.MixedCollection.get.
Returns
- Object
Ext.Component The component (if found).
Finds a docked item of this container using a reference, id or an index of its location in getDockedItems.
Available since: 2.0.0
Parameters
Returns
- Ext.Component/Boolean
The docked component, if found
Returns all the Ext.Component.docked items in this container.
Available since: 2.0.0
Returns
- Array
The docked items of this container
Retrieves the top level element representing this component.
This method has been deprecated
2.0.0 Please access the Component's element from the 'element' property instead, i.e:
var element = component.element;
Available since: 1.1.0
Returns
Returns the value of enterAnimation.
This method has been deprecated since 2.0.0
Please use showAnimation instead.
Available since: 2.0.0
Returns
- String/Mixed
Returns the value of exitAnimation.
This method has been deprecated
2.0.0 Please use hideAnimation instead. Typically you want to use an outbound animation type such as 'fadeOut' or 'slideOut'.
Available since: 2.0.0
Returns
- String/Mixed
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
Returns the parent of this component, if it has one.
Available since: 2.0.0
Returns
- Ext.Component
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 overriden by components which have child items that are not contained in items. For example dockedItems, menu, etc
Available since: 1.1.0
Parameters
- deep : Object
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.
Available since: 2.0.0
Returns
- Ext.scroll.View
The scroll view
Returns the height and width of the Component
Available since: 2.0.0
Returns
- Object
The current height and width of the Component
Overrides: Ext.Component.getSize
Returns this Component's xtype hierarchy as a slash-delimited string. For a list of all available xtypes, see the Ext.Component header.
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'
Available since: 1.1.0
Returns
- String
The xtype hierarchy string
Returns true if this component has a parent.
Available since: 2.0.0
Returns
- Boolean
trueif this component has a parent.
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
Allows addition of behavior to the rendering phase.
Available since: 2.0.0
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
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'});
Available since: 1.1.0
Parameters
Returns true if this Component is currently disabled
Available since: 1.1.0
Returns
- Boolean
True if currently disabled
Returns true if this Component is currently hidden
Available since: 1.1.0
Returns
- Boolean
True if currently hidden
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
Available since: 1.1.0
Parameters
- xtype : String
The xtype to check for this Component
- shallow : Boolean (optional)
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.
Returns
- Boolean
True if this component descends from the specified xtype, false otherwise.
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
The name of the event to listen for. May also be an object who's property names are event names.
- fn : Function
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
The scope (
thisreference) in which the handler function is executed. If omitted, defaults to the object which fired the event.delay : Number
The number of milliseconds to delay the invocation of the handler after the event fires.
single : Boolean
True to add a handler to handle just the next firing of the event, and then remove itself.
order : String
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 tocurrent.buffer : Number
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
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() { console.log('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
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,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
Initialize layout and event listeners the very first time an item is added
Available since: 2.0.0
Retrieves all descendant components which match the passed selector. Executes an Ext.ComponentQuery.query using this container as its root.
Available since: 1.1.0
Parameters
- selector : String
Selector complying to an Ext.ComponentQuery selector
Returns
- Array
Ext.Component's which matched the selector
Removes an item from this Container, optionally destroying it
Available since: 1.1.0
Parameters
Returns
- Ext.Component
this
Removes a before-event handler.
Same as removeListener with order set to 'after'.
Available since: 2.0.0
Parameters
Removes all items currently in the Container, optionally destroying them all
Available since: 1.1.0
Parameters
- destroy : Boolean
If true, destroys each removed Component
- everything : Boolean
If true, completely remove all items including docked / centered and floating items
Returns
- Ext.Component
this
Removes the Component at the specified index:
myContainer.removeAt(0); //removes the first item
Available since: 2.0.0
Parameters
- index : Number
The index of the Component to remove
Returns
- Ext.Container
this
Removes a before-event handler.
Same as removeListener with order set to 'before'.
Available since: 2.0.0
Parameters
Removes a docked item from this Container.
This method has been deprecated since 2.0.0
Please use remove instead.
Available since: 2.0.0
Parameters
Returns
- Ext.Component
this
Removes an inner Component at the specified index:
myContainer.removeInnerAt(0); //removes the first item of the innerItems propety
Available since: 2.0.0
Parameters
- index : Number
The index of the Component to remove
Returns
- Ext.Container
this
Removes an event handler.
Available since: 1.1.0
Parameters
- eventName : String
The type of event the handler was associated with.
- fn : Function
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.
Resumes firing events (see suspendEvents).
If events were suspended using the queueSuspended parameter, then all events fired
during event suspension will be sent to any listeners now.
Available since: 1.1.0
Sets the value of contentEl.
Available since: 2.0.0
Parameters
- contentEl : Ext.Element/HTMLElement/String
Sets the value of enterAnimation.
This method has been deprecated since 2.0.0
Please use showAnimation instead.
Available since: 2.0.0
Parameters
- enterAnimation : String/Mixed
Sets the value of exitAnimation.
This method has been deprecated
2.0.0 Please use hideAnimation instead. Typically you want to use an outbound animation type such as 'fadeOut' or 'slideOut'.
Available since: 2.0.0
Parameters
- exitAnimation : String/Mixed
Sets the value of height.
Available since: 2.0.0
Parameters
- height : String
Overrides: Ext.Component.setHeight
Sets the value of masked.
Available since: 2.0.0
Parameters
- masked : Boolean/Object/Ext.Mask/Ext.LoadMask
Available since: 2.0.0
Parameters
- parent : Object
Returns
- Ext.Component
this
Overrides: Ext.mixin.Traversable.setParent
Sets the value of scrollable.
Available since: 1.1.0
Parameters
Overrides: Ext.Component.setScrollable
Sets the value of tpl.
Available since: 2.0.0
Parameters
- tpl : String/String[]/Ext.Template[]/Ext.XTemplate[]
Sets the value of width.
Available since: 2.0.0
Parameters
- width : String
Overrides: Ext.Component.setWidth
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.
Examples
tl-trmeans top-left corner of the Panel to the top-right corner of the Buttontc-bcmeans top-center of the Panel to the bottom-center of the Button
You 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");
Available since: 1.1.0
Parameters
- component : Ext.Component
The target component to show this component by
- alignment : String (optional)
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
Available since: 2.0.0
Returns
Suspends the firing of all events. (see resumeEvents)
Available since: 1.1.0
Parameters
- queueSuspended : Boolean
Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events.
Alias for removeListener.
Removes an event handler.
Available since: 1.1.0
Parameters
- eventName : String
The type of event the handler was associated with.
- fn : Function
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
Walks up the ownerCt axis looking for an ancestor Container which matches
the passed simple selector.
Example:
var owningTabPanel = grid.up('tabpanel');
Available since: 1.1.0
Parameters
- selector : String
Optional. The simple selector to test.
Returns
- Ext.Container
The matching ancestor Container (or
undefinedif no match was found).
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.implement({
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', {
...
});
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 4.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 4.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.implement({
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', {
...
});
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 4.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 4.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 whenever item within the Container is activated
Available since: 1.1.0
Parameters
- this : Ext.Container
The Container instance
- newActiveItem : Object
The new active item within the container
- oldActiveItem : Object
The old active item within the container
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the activeItem configuration is changed by setActiveItem.
Available since: 2.0.0
Parameters
- this : Ext.Container
The Ext.Container instance.
- value : Object/Number
The new value being set.
- oldValue : Object/Number
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires whenever item added to the Container
Available since: 1.1.0
Parameters
- this : Ext.Container
The Container instance
- item : Object
The item added to the Container
- index : Number
The index of the item within the Container
- eOpts : Object
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
Available since: 1.1.0
Parameters
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the bottom configuration is changed by setBottom.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : Number/String
The new value being set.
- oldValue : Number/String
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the centered configuration is changed by setCentered.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : Boolean
The new value being set.
- oldValue : Boolean
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires whenever item within the Container is deactivated
Available since: 1.1.0
Parameters
- this : Ext.Container
The Container instance
- newActiveItem : Object
The new active item within the container
- oldActiveItem : Object
The old active item within the container
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the disabled configuration is changed by setDisabled.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : Boolean
The new value being set.
- oldValue : Boolean
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the docked configuration is changed by setDocked.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : String
The new value being set.
- oldValue : String
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
The opposite event of painted. This event fires whenever this Component are no longer visible
(erased) on the screen. This might be triggered either when this Component hidden config is set to
true, or when its Element is taken out of the document's DOM tree. This is normally useful to perform cleaning
up after what you have set up from listening to painted event.
Note: This event is not available to be used with event delegation. Instead 'erased' only fires if you explicily add at least one listener to it, due to performance reason.
Available since: 2.0.0
Parameters
- this : Ext.Component
The component instance
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires whenever there is a change in the floating status of a component
Available since: 2.0.0
Parameters
- this : Ext.Component
The component instance
- floating : Boolean
The component's new floating state
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires whenever a Component with the fullscreen config is instantiated
Available since: 2.0.0
Parameters
- this : Ext.Component
The component instance
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the height configuration is changed by setHeight.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : Number/String
The new value being set.
- oldValue : Number/String
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires whenever the Component is hidden
Available since: 1.1.0
Parameters
- this : Ext.Component
The component instance
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the component has been initialized
Available since: 2.0.0
Parameters
- this : Ext.Component
The component instance
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the left configuration is changed by setLeft.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : Number/String
The new value being set.
- oldValue : Number/String
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the maxHeight configuration is changed by setMaxHeight.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : Number/String
The new value being set.
- oldValue : Number/String
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the Viewport is maximized
Available since: 2.0.0
Parameters
- this : Ext.Viewport
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the maxWidth configuration is changed by setMaxWidth.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : Number/String
The new value being set.
- oldValue : Number/String
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the minHeight configuration is changed by setMinHeight.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : Number/String
The new value being set.
- oldValue : Number/String
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the minWidth configuration is changed by setMinWidth.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : Number/String
The new value being set.
- oldValue : Number/String
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires whenever item moved within the Container
Available since: 1.1.0
Parameters
- this : Ext.Container
The Container instance
- item : Object
The item moved within the Container
- toIndex : Number
The new index of the item
- fromIndex : Number
The old index of the item
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the Viewport orientation has changed
Available since: 2.0.0
Parameters
- this : Ext.Viewport
- newOrientation : String
The new orientation
- width : Number
The width of the Viewport
- height : Number
The height of the Viewport
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Overrides: Ext.Component.orientationchange
Fires whenever this Component 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. If you just need perform post-initialization tasks that don't rely on the fact that the element must be rendered and visible on the screen, listen to initialize
Note: This event is not available to be used with event delegation. Instead 'painted' only fires if you explicily add at least one listener to it, due to performance reason.
Available since: 2.0.0
Parameters
- this : Ext.Component
The component instance
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the Viewport is in the DOM and ready
Available since: 2.0.0
Parameters
- this : Ext.Viewport
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires whenever item removed from the Container
Available since: 1.1.0
Parameters
- this : Ext.Container
The Container instance
- item : Object
The item removed from the Container
- index : Number
The index of the item that was removed
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires whenever an item is rendered into a container or derendered from a Container
Available since: 2.0.0
Parameters
- this : Ext.Container
The Container instance
- item : Object
The item in the Container
- rendered : Boolean
The current rendered status of the item
- eOpts : Object
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 Component's size.
Note: This event is not available to be used with event delegation. Instead 'resize' only fires if you explicily add at least one listener to it, due to performance reason.
Available since: 1.1.0
Parameters
- this : Ext.Component
The component instance
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the right configuration is changed by setRight.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : Number/String
The new value being set.
- oldValue : Number/String
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the scrollable configuration is changed by setScrollable.
Available since: Touch 2.0.2
Parameters
- this : Ext.Container
The Ext.Container instance.
- value : Boolean/String/Object
The new value being set.
- oldValue : Boolean/String/Object
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires whenever the Component is shown
Available since: 1.1.0
Parameters
- this : Ext.Component
The component instance
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the top configuration is changed by setTop.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : Number/String
The new value being set.
- oldValue : Number/String
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires whenever the data of the component is updated
Available since: 2.0.0
Parameters
- this : Ext.Component
The component instance
- newData : Object
The new data
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.
Fires when the width configuration is changed by setWidth.
Available since: 2.0.0
Parameters
- this : Ext.Component
The Ext.Component instance.
- value : Number/String
The new value being set.
- oldValue : Number/String
The existing value.
- eOpts : Object
The options object passed to Ext.util.Observable.addListener.