Ext.Toolbar
Hierarchy
Subclasses
Files
Basic Toolbar class. Although the defaultType for Toolbar is button, Toolbar elements (child items for the Toolbar container) may be virtually any type of Component. Toolbar elements can be created explicitly via their constructors, or implicitly via their xtypes, and can be added dynamically.
Some items have shortcut strings for creation:
Shortcut xtype Class Description '->' 'tbfill' Ext.Toolbar.Fill begin using the right-justified button container '-' 'tbseparator' Ext.Toolbar.Separator add a vertical separator bar between toolbar items ' ' 'tbspacer' Ext.Toolbar.Spacer add horiztonal space between elements
Example usage of various elements:
var tb = new Ext.Toolbar({
renderTo: document.body,
width: 600,
height: 100,
items: [
{
// xtype: 'button', // default for Toolbars, same as 'tbbutton'
text: 'Button'
},
{
xtype: 'splitbutton', // same as 'tbsplitbutton'
text: 'Split Button'
},
// begin using the right-justified button container
'->', // same as {xtype: 'tbfill'}, // Ext.Toolbar.Fill
{
xtype: 'textfield',
name: 'field1',
emptyText: 'enter search term'
},
// add a vertical separator bar between toolbar items
'-', // same as {xtype: 'tbseparator'} to create Ext.Toolbar.Separator
'text 1', // same as {xtype: 'tbtext', text: 'text1'} to create Ext.Toolbar.TextItem
{xtype: 'tbspacer'},// same as ' ' to create Ext.Toolbar.Spacer
'text 2',
{xtype: 'tbspacer', width: 50}, // add a 50px space
'text 3'
]
});
Example adding a ComboBox within a menu of a button:
// ComboBox creation
var combo = new Ext.form.ComboBox({
store: new Ext.data.ArrayStore({
autoDestroy: true,
fields: ['initials', 'fullname'],
data : [
['FF', 'Fred Flintstone'],
['BR', 'Barney Rubble']
]
}),
displayField: 'fullname',
typeAhead: true,
mode: 'local',
forceSelection: true,
triggerAction: 'all',
emptyText: 'Select a name...',
selectOnFocus: true,
width: 135,
getListParent: function() {
return this.el.up('.x-menu');
},
iconCls: 'no-icon' //use iconCls if placing within menu to shift to right side of menu
});
// put ComboBox in a Menu
var menu = new Ext.menu.Menu({
id: 'mainMenu',
items: [
combo // A Field in a Menu
]
});
// add a Button with the menu
tb.add({
text:'Button w/ Menu',
menu: menu // assign menu by instance
});
tb.doLayout();
Available since: 1.1.0
Config options
A string component id or the numeric index of the component that should be initially activated within the container's layout on render. For example, activeItem: 'item-1' or activeItem: 0 (index 0 = the first item in the container's collection). activeItem only applies to layout styles that can display items one at a time (like Ext.layout.AccordionLayout, Ext.layout.CardLayout and Ext.layout.FitLayout). Related to Ext.layout.ContainerLayout.activeItem.
Available since: 2.3.0
Whether the component can move the Dom node when rendering (defaults to true).
Defaults to: true
Available since: 1.1.0
Note: this config is only used when this Component is rendered by a Container which has been configured to use an AnchorLayout (or subclass thereof). based layout manager, for example:
- Ext.form.FormPanel
- specifying
layout: 'anchor' // or 'form', or 'absolute'
See Ext.layout.AnchorLayout.anchor also.
Available since: Ext JS 3.4.0
Specify the id of the element, a DOM element or an existing Element corresponding to a DIV that is already present in the document that specifies some structural markup for this component.
- Description : When applyTo is used, constituent parts of the component can also be specified by id or CSS class name within the main element, and the component being created may attempt to create its subcomponents from that markup if applicable.
- Notes : When using this config, a call to render() is not required.If applyTo is specified, any value passed for renderTo will be ignored and the target element's parent node will automatically be used as the component's container.
Available since: 2.3.0
If true the container will automatically destroy any contained component that is removed from it, else destruction must be handled manually (defaults to true).
Defaults to: true
Available since: 2.3.0
A tag name or DomHelper spec used to create the Element which will encapsulate this Component.
You do not normally need to specify this. For the base classes Ext.Component, Ext.BoxComponent, and Ext.Container, this defaults to 'div'. The more complex Ext classes use a more complex DOM structure created by their own onRender methods.
This is intended to allow the developer to create application-specific utility Components encapsulated by different DOM elements. Example usage:
{
xtype: 'box',
autoEl: {
tag: 'img',
src: 'http://www.example.com/example.jpg'
}
}, {
xtype: 'box',
autoEl: {
tag: 'blockquote',
html: 'autoEl is cool!'
}
}, {
xtype: 'container',
autoEl: 'ul',
cls: 'ux-unordered-list',
items: {
xtype: 'box',
autoEl: 'li',
html: 'First list item'
}
}
Defaults to: 'div'
Available since: 2.3.0
True to use height:'auto', false to use fixed height (or allow it to be managed by its parent Container's layout manager. Defaults to false.
Note: Although many components inherit this config option, not all will function as expected with a height of 'auto'. Setting autoHeight:true means that the browser will manage height based on the element's contents, and that Ext will not manage it at all.
If the browser is managing the height, be aware that resizes performed by the browser in response to changes within the structure of the Component cannot be detected. Therefore changes to the height might result in elements needing to be synchronized with the new height. Example:
var w = new Ext.Window({
title: 'Window',
width: 600,
autoHeight: true,
items: {
title: 'Collapse Me',
height: 400,
collapsible: true,
border: false,
listeners: {
beforecollapse: function() {
w.el.shadow.hide();
},
beforeexpand: function() {
w.el.shadow.hide();
},
collapse: function() {
w.syncShadow();
},
expand: function() {
w.syncShadow();
}
}
}
}).show();
Available since: 2.3.0
true to use overflow:'auto' on the components layout element and show scroll bars automatically when
necessary, false to clip any overflowing content (defaults to false).
Available since: Ext JS 3.4.0
True if the component should check for hidden classes (e.g. 'x-hidden' or 'x-hide-display') and remove them on render (defaults to false).
Defaults to: false
Available since: 2.3.0
True to use width:'auto', false to use fixed width (or allow it to be managed by its parent Container's layout manager. Defaults to false.
Note: Although many components inherit this config option, not all will function as expected with a width of 'auto'. Setting autoWidth:true means that the browser will manage width based on the element's contents, and that Ext will not manage it at all.
If the browser is managing the width, be aware that resizes performed by the browser in response to changes within the structure of the Component cannot be detected. Therefore changes to the width might result in elements needing to be synchronized with the new width. For example, where the target element is:
<div id='grid-container' style='margin-left:25%;width:50%'></div>
A Panel rendered into that target element must listen for browser window resize in order to relay its child items when the browser changes its width:
var myPanel = new Ext.Panel({
renderTo: 'grid-container',
monitorResize: true, // relay on browser resize
title: 'Panel',
height: 400,
autoWidth: true,
layout: 'hbox',
layoutConfig: {
align: 'stretch'
},
defaults: {
flex: 1
},
items: [{
title: 'Box 1',
}, {
title: 'Box 2'
}, {
title: 'Box 3'
}],
});
Available since: 2.3.0
The maximum value in pixels which this BoxComponent will set its height to.
Warning: This will override any size management applied by layout managers.
Available since: Ext JS 3.4.0
The maximum value in pixels which this BoxComponent will set its width to.
Warning: This will override any size management applied by layout managers.
Available since: Ext JS 3.4.0
The minimum value in pixels which this BoxComponent will set its height to.
Warning: This will override any size management applied by layout managers.
Available since: Ext JS 3.4.0
The minimum value in pixels which this BoxComponent will set its width to.
Warning: This will override any size management applied by layout managers.
Available since: Ext JS 3.4.0
An array of events that, when fired, should be bubbled to any parent container.
See Ext.util.Observable.enableBubble.
Defaults to ['add', 'remove'].
Defaults to: ['add', 'remove']
Available since: Ext JS 3.4.0
Overrides: Ext.Component.bubbleEvents
When set to true (50 milliseconds) or a number of milliseconds, the layout assigned for this container will buffer
the frequency it calculates and does a re-layout of components. This is useful for heavy containers or containers
with a large quantity of sub-components for which frequent layout calls would be expensive. Defaults to 50.
Defaults to: 50
Available since: 2.3.0
The CSS class used to to apply to the special clearing div rendered directly after each form field wrapper to provide field clearing (defaults to 'x-form-clear-left').
Note: this config is only used when this Component is rendered by a Container
which has been configured to use the FormLayout layout manager (e.g. Ext.form.FormPanel or specifying layout:'form') and either a fieldLabel is specified or isFormField=true is specified.
See Ext.layout.FormLayout.fieldTpl also.
Available since: 2.3.0
An optional extra CSS class that will be added to this component's Element (defaults to ''). This can be useful for adding customized styles to the component or any of its children using standard CSS rules.
Available since: 1.1.0
Optional. Specify an existing HTML element, or the id of an existing HTML element to use as the content
for this component.
- Description :
This config option is used to take an existing HTML element and place it in the layout element of a new component (it simply moves the specified DOM element after the Component is rendered to use as the content.
- Notes :
The specified HTML element is appended to the layout element of the component after any configured HTML has been inserted, and so the document will not contain this element at the time the render event is fired.The specified HTML element used will not participate in any
layoutscheme that the Component may use. It is just HTML. Layouts operate on childitems.Add either thex-hiddenor thex-hide-displayCSS class to prevent a brief flicker of the content before it is rendered to the panel.
Available since: Ext JS 3.4.0
An optional extra CSS class that will be added to this component's container. This can be useful for adding customized styles to the container or any of its children using standard CSS rules. See Ext.layout.ContainerLayout.extraCls also.
Note: ctCls defaults to '' except for the following class which assigns a value by default:
- Box Layout : 'x-box-layout-ct'
ctCls: 'x-box-layout-ct custom-class'
Available since: 2.3.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.
Defaults to 'panel', except Ext.menu.Menu which defaults to 'menuitem',
and Ext.Toolbar and Ext.ButtonGroup which default to 'button'.
Defaults to: 'panel'
Available since: 2.3.0
This option is a means of applying default settings to all added items whether added through the items config or via the add or insert methods.
If an added item is a config object, and not an instantiated Component, then the default properties are unconditionally applied. If the added item is an instantiated Component, then the default properties are applied conditionally so as not to override existing properties in the item.
If the defaults option is specified as a function, then the function will be called using this Container as the
scope (this reference) and passing the added item as the first parameter. Any resulting object
from that call is then applied to the item as default properties.
For example, to automatically apply padding to the body of each of a set of
contained Ext.Panel items, you could pass: defaults: {bodyStyle:'padding:15px'}.
Usage:
defaults: { // defaults are applied to items, not the container
autoScroll:true
},
items: [
{
xtype: 'panel', // defaults do not have precedence over
id: 'panel1', // options in config objects, so the defaults
autoScroll: false // will not be applied here, panel1 will be autoScroll:false
},
new Ext.Panel({ // defaults do have precedence over options
id: 'panel2', // options in components, so the defaults
autoScroll: false // will be applied here, panel2 will be autoScroll:true.
})
]
Available since: 2.3.0
Render this component disabled (default is false).
Defaults to: false
Available since: 2.3.0
CSS class added to the component when it is disabled (defaults to 'x-item-disabled').
Defaults to: 'x-item-disabled'
Available since: 2.3.0
Defaults to false. Configure true to make the toolbar provide a button which activates a dropdown Menu to show items which overflow the Toolbar's width.
Available since: Ext JS 3.4.0
The label text to display next to this Component (defaults to '').
Note: this config is only used when this Component is rendered by a Container which
has been configured to use the FormLayout layout manager (e.g. Ext.form.FormPanel or specifying layout:'form').
Also see hideLabel and Ext.layout.FormLayout.fieldTpl.
Example use:
new Ext.FormPanel({
height: 100,
renderTo: Ext.getBody(),
items: [{
xtype: 'textfield',
fieldLabel: 'Name'
}]
});
Available since: 2.3.0
Note: this config is only used when this Component is rendered
by a Container which has been configured to use a BoxLayout.
Each child Component with a flex property will be flexed either vertically (by a VBoxLayout)
or horizontally (by an HBoxLayout) according to the item's relative flex value
compared to the sum of all Components with flex value specified. Any child items that have
either a flex = 0 or flex = undefined will not be 'flexed' (the initial size will not be changed).
Available since: Ext JS 3.4.0
If true the container will force a layout initially even if hidden or collapsed. This option is useful for forcing forms to render in collapsed or hidden containers. (defaults to false).
Defaults to: false
Available since: Ext JS 3.4.0
The height of this component in pixels (defaults to auto). Note to express this dimension as a percentage or offset see Ext.Component.anchor.
Available since: 2.3.0
True to hide the borders of each contained component, false to defer to the component's existing border settings (defaults to false).
Available since: 2.3.0
true to completely hide the label element (label and separator). Defaults to false. By default, even if you do not specify a fieldLabel the space will still be reserved so that the field will line up with other fields that do have labels. Setting this to true will cause the field to not reserve that space.
Note: see the note for clearCls.
Example use:
new Ext.FormPanel({
height: 100,
renderTo: Ext.getBody(),
items: [{
xtype: 'textfield'
hideLabel: true
}]
});
Available since: 2.3.0
How this component should be hidden. Supported values are 'visibility' (css visibility), 'offsets' (negative offset position) and 'display' (css display).
Note: the default of 'display' is generally preferred
since items are automatically laid out when they are first shown (no sizing is done while hidden).
Defaults to: 'display'
Available since: 1.1.0
True to hide and show the component's container when hide/show is called on the component, false to hide and show the component itself (defaults to false). For example, this can be used as a shortcut for a hide button on a window by setting hide:true on the button when adding it to its parent container.
Defaults to: false
Available since: 2.3.0
An HTML fragment, or a DomHelper specification to use as the layout element content (defaults to ''). The HTML content is added after the component is rendered, so the document will not contain this HTML at the time the render event is fired. This content is inserted into the body before any configured contentEl is appended.
Available since: Ext JS 3.4.0
The unique id of this component (defaults to an auto-assigned id). You should assign an id if you need to be able to access the component later and you do not have an object reference available (e.g., using Ext.getCmp).
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 and ref.
Note: to access the container of an item see ownerCt.
Available since: 1.1.0
Note: this config is only used when this Component is rendered by a Container which has been configured to use the FormLayout layout manager (e.g. Ext.form.FormPanel or specifying layout:'form').
An additional CSS class to apply to the div wrapping the form item element of this field. If supplied, itemCls at the field level will override the default itemCls supplied at the container level. The value specified for itemCls will be added to the default class ('x-form-item').
Since it is applied to the item wrapper (see Ext.layout.FormLayout.fieldTpl), it allows you to write standard CSS rules that can apply to the field, the label (if specified), or any other element within the markup for the field.
Note: see the note for fieldLabel.
Example use:
// Apply a style to the field's label:
<style>
.required .x-form-item-label {font-weight:bold;color:red;}
</style>
new Ext.FormPanel({
height: 100,
renderTo: Ext.getBody(),
items: [{
xtype: 'textfield',
fieldLabel: 'Name',
itemCls: 'required' //this label will be styled
},{
xtype: 'textfield',
fieldLabel: 'Favorite Color'
}]
});
Available since: 2.3.0
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.ComponentMgr which requires a unique
id.
var c = new Ext.Panel({ //
height: 300,
renderTo: document.body,
layout: 'auto',
items: [
{
itemId: 'p1',
title: 'Panel 1',
height: 150
},
{
itemId: 'p2',
title: 'Panel 2',
height: 150
}
]
})
p1 = c.getComponent('p1'); // not the same as Ext.getCmp()
p2 = p1.ownerCt.getComponent('p2'); // reference via a sibling
Note: to access the container of an item see ownerCt.
Available since: Ext JS 3.4.0
** IMPORTANT: be sure to specify a <code>layout</code> if needed ! **
A single item, or an array of child Components to be added to this container, for example:
// specifying a single item
items: {...},
layout: 'fit', // specify a layout!
// specifying multiple items
items: [{...}, {...}],
layout: 'anchor', // specify a layout!
Each item may be:
- any type of object based on Ext.Component
- a fully instanciated object or
- an object literal that:
- has a specified
xtype - the Ext.Component.xtype specified is associated with the Component desired and should be chosen from one of the available xtypes as listed in Ext.Component.
- If an
xtypeis not explicitly specified, the defaultType for that Container is used. - will be "lazily instanciated", avoiding the overhead of constructing a fully instanciated Component object
Notes:
Available since: 2.3.0
The separator to display after the text of each fieldLabel. This property may be configured at various levels. The order of precedence is:
- field / component level
- container level
- layout level (defaults to colon ':')
Note: see the note for clearCls.
Also see hideLabel and Ext.layout.FormLayout.fieldTpl.
Example use:
new Ext.FormPanel({
height: 100,
renderTo: Ext.getBody(),
layoutConfig: {
labelSeparator: '~' // layout config has lowest priority (defaults to ':')
},
labelSeparator: '>>', // config at container level
items: [{
xtype: 'textfield',
fieldLabel: 'Field 1',
labelSeparator: '...' // field/component level config supersedes others
},{
xtype: 'textfield',
fieldLabel: 'Field 2' // labelSeparator will be '='
}]
});
Available since: 2.3.0
A CSS style specification string to apply directly to this field's label. Defaults to the container's labelStyle value if set (e.g., Ext.layout.FormLayout.labelStyle , or '').
Note: see the note for clearCls.
Also see hideLabel and
Ext.layout.FormLayout.fieldTpl.
Example use:
new Ext.FormPanel({
height: 100,
renderTo: Ext.getBody(),
items: [{
xtype: 'textfield',
fieldLabel: 'Name',
labelStyle: 'font-weight:bold;'
}]
});
Available since: 2.3.0
This class assigns a default layout (layout:'toolbar').
Developers may override this configuration option if another layout
is required (the constructor must be passed a configuration object in this
case instead of an array).
See Ext.Container.layout for additional information.
Available since: Ext JS 3.4.0
Overrides: Ext.Container.layout
(optional)
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.
DOM events from ExtJs Components
While some ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this
is usually only done when extra value can be added. For example the DataView's
click event passing the node clicked on. To access DOM
events directly from a Component's HTMLElement, listeners must be added to the Element after the Component
has been rendered. A plugin can simplify this step:
// Plugin is configured with a listeners config object.
// The Component is appended to the argument list of all handler functions.
Ext.DomObserver = Ext.extend(Object, {
constructor: function(config) {
this.listeners = config.listeners ? config.listeners : config;
},
// Component passes itself into plugin's init method
init: function(c) {
var p, l = this.listeners;
for (p in l) {
if (Ext.isFunction(l[p])) {
l[p] = this.createHandler(l[p], c);
} else {
l[p].fn = this.createHandler(l[p].fn, c);
}
}
// Add the listeners to the Element immediately following the render call
c.render = c.render.createSequence(function() {
var e = c.getEl();
if (e) {
e.on(l);
}
});
},
createHandler: function(fn, c) {
return function(e) {
fn.call(this, e, c);
};
}
});
var combo = new Ext.form.ComboBox({
// Collapse combo when its element is clicked on
plugins: [ new Ext.DomObserver({
click: function(evt, comp) {
comp.collapse();
}
})],
store: myStore,
typeAhead: true,
mode: 'local',
triggerAction: 'all'
});
Available since: 1.1.0
Note: this config is only used when this BoxComponent is rendered by a Container which has been configured to use the BorderLayout or one of the two BoxLayout subclasses.
An object containing margins to apply to this BoxComponent in the format:
{
top: (top margin),
right: (right margin),
bottom: (bottom margin),
left: (left margin)
}
May also be a string containing space-separated, numeric margin values. The order of the sides associated with each value matches the way CSS processes margin values:
- If there is only one value, it applies to all sides.
- If there are two values, the top and bottom borders are set to the first value and the right and left are set to the second.
- If there are three values, the top is set to the first value, the left and right are set to the second, and the bottom is set to the third.
- If there are four values, they apply to the top, right, bottom, and left, respectively.
Defaults to:
{top:0, right:0, bottom:0, left:0}
Available since: Ext JS 3.4.0
True to automatically monitor window resize events to handle anything that is sensitive to the current size
of the viewport. This value is typically managed by the chosen layout and should not need
to be set manually.
Available since: 2.3.0
An optional extra CSS class that will be added to this component's Element when the mouse moves over the Element, and removed when the mouse moves out. (defaults to ''). This can be useful for adding customized 'active' or 'hover' styles to the component or any of its children using standard CSS rules.
Available since: 2.3.0
The page level x coordinate for this component if contained within a positioning container.
The page level x coordinate for this component if contained within a positioning container.
Available since: 2.3.0
The page level y coordinate for this component if contained within a positioning container.
The page level y coordinate for this component if contained within a positioning container.
Available since: 2.3.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.
Available since: 2.3.0
The registered ptype to create. This config option is not used when passing
a config object into a constructor. This config option is used only when
lazy instantiation is being used, and a Plugin is being
specified not as a fully instantiated Component, but as a Component config
object. The ptype will be looked up at render time up to determine what
type of Plugin to create.
If you create your own Plugins, you may register them using
Ext.ComponentMgr.registerPlugin in order to be able to
take advantage of lazy instantiation and rendering.
Available since: Ext JS 3.4.0
A path specification, relative to the Component's ownerCt
specifying into which ancestor Container to place a named reference to this Component.
The ancestor axis can be traversed by using '/' characters in the path. For example, to put a reference to a Toolbar Button into the Panel which owns the Toolbar:
var myGrid = new Ext.grid.EditorGridPanel({
title: 'My EditorGridPanel',
store: myStore,
colModel: myColModel,
tbar: [{
text: 'Save',
handler: saveChanges,
disabled: true,
ref: '../saveButton'
}],
listeners: {
afteredit: function() {
// The button reference is in the GridPanel
myGrid.saveButton.enable();
}
}
});
In the code above, if the ref had been 'saveButton'
the reference would have been placed into the Toolbar. Each '/' in the ref
moves up one level from the Component's ownerCt.
Also see the added and removed events.
Available since: Ext JS 3.4.0
Note: this config is only used when this BoxComponent is rendered by a Container which has been configured to use the BorderLayout layout manager (e.g. specifying layout:'border').
See Ext.layout.BorderLayout also.
Available since: Ext JS 3.4.0
Specify the id of the element, a DOM element or an existing Element that this component will be rendered into.
- Notes : Do not use this option if the Component is to be a child item of a Container. It is the responsibility of the Container's layout manager to render and manage its child items.When using this config, a call to render() is not required.
See render also.
Available since: 2.3.0
The event to listen to for resizing in layouts. Defaults to 'resize'.
Defaults to: 'resize'
Available since: Ext JS 3.4.0
An array of events that, when fired, should trigger this component to
save its state (defaults to none). stateEvents may be any type
of event supported by this component, including browser or custom events
(e.g., ['click', 'customerchange']).
See stateful for an explanation of saving and
restoring Component state.
Available since: Ext JS 3.4.0
The unique id for this component to use for state management purposes (defaults to the component id if one was set, otherwise null if the component is using a generated id).
See stateful for an explanation of saving and
restoring Component state.
Available since: 2.3.0
A flag which causes the Component to attempt to restore the state of
internal properties from a saved state on startup. The component must have
either a stateId or id assigned
for state to be managed. Auto-generated ids are not guaranteed to be stable
across page loads and cannot be relied upon to save and restore the same
state for a component.
For state saving to work, the state manager's provider must have been set to an implementation of Ext.state.Provider which overrides the set and get methods to save and recall name/value pairs. A built-in implementation, Ext.state.CookieProvider is available.
To set the state provider for the current page:
Ext.state.Manager.setProvider(new Ext.state.CookieProvider({
expires: new Date(new Date().getTime()+(1000*60*60*24*7)), //7 days from now
}));
A stateful Component attempts to save state when one of the events
listed in the stateEvents configuration fires.
To save state, a stateful Component first serializes its state by
calling getState. By default, this function does
nothing. The developer must provide an implementation which returns an
object hash which represents the Component's restorable state.
The value yielded by getState is passed to Ext.state.Manager.set
which uses the configured Ext.state.Provider to save the object
keyed by the Component's stateId, or, if that is not
specified, its id.
During construction, a stateful Component attempts to restore
its state by calling Ext.state.Manager.get passing the
stateId, or, if that is not specified, the
id.
The resulting object is passed to applyState.
The default implementation of applyState simply copies
properties into the object, but a developer may override this to support
more behaviour.
You can perform extra processing on state save and restore by attaching handlers to the beforestaterestore, staterestore, beforestatesave and statesave events.
Available since: 2.3.0
A custom style specification to be applied to this component's Element. Should be a valid argument to Ext.Element.applyStyles.
new Ext.Panel({
title: 'Some Title',
renderTo: Ext.getBody(),
width: 400, height: 300,
layout: 'form',
items: [{
xtype: 'textarea',
style: {
width: '95%',
marginBottom: '10px'
}
},
new Ext.Button({
text: 'Send',
minWidth: '100',
style: {
marginBottom: '10px'
}
})
]
});
Available since: 1.1.0
Note: this config is only used when this BoxComponent is a child item of a TabPanel.
A string to be used as innerHTML (html tags are accepted) to show in a tooltip when mousing over the associated tab selector element. Ext.QuickTips.init() must be called in order for the tips to render.
Available since: Ext JS 3.4.0
An data and
tplWriteMode configurations.
Available since: Ext JS 3.4.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: Ext JS 3.4.0
The width of this component in pixels (defaults to auto). Note to express this dimension as a percentage or offset see Ext.Component.anchor.
Available since: 2.3.0
The local x (left) coordinate for this component if contained within a positioning container.
The local x (left) coordinate for this component if contained within a positioning container.
Available since: 2.3.0
The registered xtype to create. This config option is not used when passing
a config object into a constructor. This config option is used only when
lazy instantiation is being used, and a child item of a Container is being
specified not as a fully instantiated Component, but as a Component config
object. The xtype will be looked up at render time up to determine what
type of child Component to create.
The predefined xtypes are listed here.
If you subclass Components to create your own Components, you may register them using Ext.ComponentMgr.registerType in order to be able to take advantage of lazy instantiation and rendering.
Available since: 2.3.0
Properties
private, set in afterRender to signify that the component has been rendered
Defaults to: false
Available since: 2.3.0
private, used to defer height settings to subclasses
Defaults to: false
Available since: 2.3.0
True if this component is disabled. Read-only.
Available since: 1.1.0
The Ext.Element which encapsulates this Component. Read-only.
This will usually be a <DIV> element created by the class's onRender method, but
that may be overridden using the autoEl config.
Note: this element will not be available until this Component has been rendered.
To add listeners for DOM events to this Component (as opposed to listeners for this Component's own Observable events), see the listeners config for a suggestion, or use a render listener directly:
new Ext.Panel({
title: 'The Clickable Panel',
listeners: {
render: function(p) {
// Append the Panel to the click handler's argument list.
p.getEl().on('click', handlePanelClick.createDelegate(null, [p], true));
},
single: true // Remove the listener after first invocation
}
});
See also getEl
Available since: Ext JS 3.4.0
This Component's initial configuration specification. Read-only.
Available since: 2.3.0
The collection of components in this container as a Ext.util.MixedCollection
The collection of components in this container as a Ext.util.MixedCollection
Available since: 2.3.0
The ancestor Container into which the ref reference was inserted if this Component
is a child of a Container, and has been configured with a ref.
Available since: Ext JS 3.4.0
True if this component has been rendered. Read-only.
Defaults to: false
Available since: 1.1.0
Methods
Creates a new Toolbar
Available since: 1.1.0
Parameters
Returns
Overrides: Ext.BoxComponent.constructor
Adds element(s) to the toolbar -- this function takes a variable number of arguments of mixed type and adds them to the toolbar.
Note: See the notes within Ext.Container.add.
Available since: 1.1.0
Parameters
- arg1 : Mixed
The following types of arguments are all valid:
- Ext.Button config: A valid button config object (equivalent to addButton)
- HtmlElement: Any standard HTML element (equivalent to addElement)
- Field: Any form field (equivalent to addField)
- Item: Any subclass of Ext.Toolbar.Item (equivalent to addItem)
- String: Any generic string (gets wrapped in a Ext.Toolbar.TextItem, equivalent to addText). Note that there are a few special strings that are treated differently as explained next.
- '-': Creates a separator element (equivalent to addSeparator)
- ' ': Creates a spacer element (equivalent to addSpacer)
- '->': Creates a fill element (equivalent to addFill)
- arg2 : Mixed
- etc : Mixed
.
Overrides: Ext.Container.add
Adds a button (or buttons). See Ext.Button for more info on the config.
Note: See the notes within Ext.Container.add.
Available since: 1.1.0
Parameters
- config : Object/Array
A button config or array of configs
Returns
Adds a CSS class to the component's underlying element.
Available since: 2.3.0
Parameters
- cls : string
The CSS class name to add
Returns
- Ext.Component
this
Adds a new element to the toolbar from the passed Ext.DomHelper config
Note: See the notes within Ext.Container.add.
Available since: 1.1.0
Parameters
- config : Object
Returns
- Ext.Toolbar.Item
The element's item
Adds any standard HTML element to the toolbar
Note: See the notes within Ext.Container.add.
Available since: 1.1.0
Parameters
- el : Mixed
The element or id of the element to add
Returns
- Ext.Toolbar.Item
The element's item
Adds the specified events to the list of events which this Observable may fire.
Available since: 1.1.0
Parameters
- o : Object|String
Either an object with event names as properties with a value of
trueor the first event name string if multiple event names are being passed as separate parameters. - Optional : string
. Event name if multiple event names are being passed as separate parameters. Usage:
this.addEvents('storeloaded', 'storecleared');
Adds a dynamically rendered Ext.form field (TextField, ComboBox, etc). Note: the field should not have been rendered yet. For a field that has already been rendered, use addElement.
Note: See the notes within Ext.Container.add.
Available since: 1.1.0
Parameters
- field : Ext.form.Field
Returns
Forces subsequent additions into the float:right toolbar
Note: See the notes within Ext.Container.add.
Available since: 1.1.0
Adds any Toolbar.Item or subclass
Note: See the notes within Ext.Container.add.
Available since: 1.1.0
Parameters
- item : Ext.Toolbar.Item
Returns
- Ext.Toolbar.Item
The item
Appends an event handler to this object.
Available since: 1.1.0
Parameters
- eventName : String
The name of the event to listen for.
- handler : Function
The method the event invokes.
- 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. properties. This may contain any of the following properties:
- scope : ObjectThe scope (
thisreference) in which the handler function is executed. If omitted, defaults to the object which fired the event. - delay : NumberThe number of milliseconds to delay the invocation of the handler after the event fires.
- single : BooleanTrue to add a handler to handle just the next firing of the event, and then remove itself.
- buffer : NumberCauses the handler to be scheduled to run in an Ext.util.DelayedTask 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.
- target : ObservableOnly call the handler if the event was fired on the target Observable, not if the event was bubbled up from a child Observable.
Combining Options
Using the options argument, it is possible to combine different types of listeners:
A delayed, one-time listener.myDataView.on('click', this.onClick, 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 handlers.myGridPanel.on({ 'click' : { fn: this.onClick, scope: this, delay: 100 }, 'mouseover' : { fn: this.onMouseOver, scope: this }, 'mouseout' : { fn: this.onMouseOut, scope: this } });Or a shorthand syntax:
myGridPanel.on({ 'click' : this.onClick, 'mouseover' : this.onMouseOver, 'mouseout' : this.onMouseOut, scope: this }); - scope : Object
Adds a separator
Note: See the notes within Ext.Container.add.
Available since: 1.1.0
Returns
- Ext.Toolbar.Item
The separator item
Adds a spacer element
Note: See the notes within Ext.Container.add.
Available since: 1.1.0
Returns
- Ext.Toolbar.Spacer
The spacer item
Adds text to the toolbar
Note: See the notes within Ext.Container.add.
Available since: 1.1.0
Parameters
- text : String
The text to add
Returns
- Ext.Toolbar.Item
The element's item
private
Available since: 2.3.0
Parameters
- x : Object
- y : Object
Apply this component to existing markup that is valid. With this function, no call to render() is required.
Available since: 2.3.0
Parameters
- el : String/HTMLElement
Bubbles up the component/container heirarchy, calling the specified function with each component. The scope (this) of function call will be the scope provided or the current component. The arguments to the function will be the args provided or the current component. If the function returns false at any point, the bubble is stopped.
Available since: Ext JS 3.4.0
Parameters
- fn : Function
The function to call
- scope : Object (optional)
The scope of the function (defaults to current node)
- args : Array (optional)
The args to call the function with (default to passing the current component)
Returns
- Ext.Component
this
We can only lay out if there is a view area in which to layout. display:none on the layout target, or any of its parent elements will mean it has no view area.
Available since: Ext JS 3.4.0
Cascades down the component/container heirarchy from this component (called first), calling the specified function with each component. The scope (this) of function call will be the scope provided or the current component. The arguments to the function will be the args provided or the current component. If the function returns false at any point, the cascade is stopped on that branch.
Available since: 2.3.0
Parameters
- fn : Function
The function to call
- scope : Object (optional)
The scope of the function (defaults to current component)
- args : Array (optional)
The args to call the function with (defaults to passing the current component)
Returns
- Ext.Container
this
Clone the current component using the original config values passed into this instance by default.
Available since: 2.3.0
Parameters
- overrides : Object
A new config containing any properties to override in the cloned version. An id property can be passed on this object, otherwise one will be generated to avoid duplicates.
Returns
- Ext.Component
clone The cloned copy of this component
private
Available since: 2.3.0
Parameters
- config : Object
- defaultType : Object
Destroys this component by purging any event listeners, removing the component's element from the DOM, removing the component from its Ext.Container (if applicable) and unregistering it from Ext.ComponentMgr. Destruction is generally handled automatically by the framework and this method should usually not need to be called directly.
Available since: 1.1.0
Disable this component and fire the 'disable' event.
Available since: 1.1.0
Parameters
- silent : Object
Returns
- Ext.Component
this
Force this container's layout to be recalculated. A call to this function is required after adding a new component to an already rendered container, or possibly after changing sizing/position properties of child components.
Available since: 2.3.0
Parameters
- shallow : Boolean (optional)
True to only calc the layout of this component, and let child components auto calc layouts as required (defaults to false, which calls doLayout recursively for each subcontainer)
- force : Boolean (optional)
True to force a layout to occur, even if the item is hidden.
Returns
- Ext.Container
this
private
Available since: Ext JS 3.4.0
Parameters
- c : Object
- autoDestroy : Object
Enables events fired by this Observable to bubble up an owner hierarchy by calling
this.getBubbleTarget() if present. There is no implementation in the Observable base class.
This is commonly used by Ext.Components to bubble events to owner Containers. See Ext.Component.getBubbleTarget. The default implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to access the required target more quickly.
Example:
Ext.override(Ext.form.Field, {
// Add functionality to Field's initComponent to enable the change event to bubble
initComponent : Ext.form.Field.prototype.initComponent.createSequence(function() {
this.enableBubble('change');
}),
// We know that we want Field's events to bubble directly to the FormPanel.
getBubbleTarget : function() {
if (!this.formPanel) {
this.formPanel = this.findParentByType('form');
}
return this.formPanel;
}
});
var myForm = new Ext.formPanel({
title: 'User Details',
items: [{
...
}],
listeners: {
change: function() {
// Title goes red if form has been modified.
myForm.header.setStyle('color', 'red');
}
}
});
Available since: Ext JS 3.4.0
Parameters
Find a component under this container at any level by a custom function. If the passed function returns true, the component will be included in the results. The passed function is called with the arguments (component, this container).
Available since: 2.3.0
Parameters
- fn : Function
The function to call
- scope : Object (optional)
Returns
- Array
Array of Ext.Components
Find a component under this container at any level by id
This method has been deprecated
Fairly useless method, since you can just use Ext.getCmp. Should be removed for 4.0 If you need to test if an id belongs to a container, you can use getCmp and findParent*.
Available since: 2.3.0
Parameters
- id : String
Returns
- Object
Find a component under this container at any level by xtype or class
Available since: 2.3.0
Parameters
- xtype : String/Class
The xtype string for a component, or the class of the component directly
- 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
- Array
Array of Ext.Components
Find a container above this component at any level by a custom function. If the passed function returns true, the container will be returned.
Available since: 2.3.0
Parameters
- fn : Function
The custom function to call with the arguments (container, this component).
Returns
- Ext.Container
The first Container for which the custom function returns true
Find a container above this component at any level by xtype or class
Available since: 2.3.0
Parameters
- xtype : String/Ext.Component/Class
The xtype to check for this Component. Note that the the component can either be an instance or a component class:
- 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
- Ext.Container
The first Container which matches the given xtype or class
Fires the specified event with the passed parameters (minus the event name).
An event may be set to bubble up an Observable parent hierarchy (See Ext.Component.getBubbleTarget) 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.
Try to focus this component.
Available since: 1.1.0
Parameters
- selectText : Boolean (optional)
If applicable, true to also select the text in this component
- delay : Boolean/Number (optional)
Delay the focus this number of milliseconds (true for 10 milliseconds)
Returns
- Ext.Component
this
Get a component contained by this container (alias for items.get(key))
This method has been deprecated
Should be removed in 4.0, since getComponent does the same thing.
Available since: Ext JS 3.4.0
Parameters
Returns
Gets the current box measurements of the component's underlying element.
Available since: 1.1.0
Parameters
- local : Boolean (optional)
If true the element's left and top are returned instead of page XY (defaults to false)
Returns
- Object
box An object in the format {x, y, width, height}
Provides the link for Observable's fireEvent method to bubble up the ownership hierarchy.
Available since: Ext JS 3.4.0
Returns
- Ext.Container
the Container which owns this Component.
Examines this container's items property
and gets a direct child component of this container.
Available since: 2.3.0
Parameters
- comp : 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).
private - used as the key lookup function for the items collection
Available since: 2.3.0
Parameters
- comp : Object
Returns the Ext.Element which encapsulates this Component.
This will usually be a <DIV> element created by the class's onRender method, but that may be overridden using the autoEl config.
Note: this element will not be available until this Component has been rendered.
To add listeners for DOM events to this Component (as opposed to listeners for this Component's own Observable events), see the listeners config for a suggestion, or use a render listener directly:
new Ext.Panel({
title: 'The Clickable Panel',
listeners: {
render: function(p) {
// Append the Panel to the click handler's argument list.
p.getEl().on('click', handlePanelClick.createDelegate(null, [p], true));
},
single: true // Remove the listener after first invocation
}
});
Available since: 1.1.0
Returns
- Ext.Element
The Element which encapsulates this Component.
Gets the current height of the component's underlying element.
Available since: Ext JS 3.4.0
Returns
Returns the id of this component or automatically generates and
returns an id if an id is not defined yet:
'ext-comp-' + (++Ext.Component.AUTO_ID)
Available since: 1.1.0
Returns
- String
id
Returns the layout currently in use by the container. If the container does not currently have a layout set, a default Ext.layout.ContainerLayout will be created and set as the container's layout.
Available since: 2.3.0
Returns
- ContainerLayout
layout The container's layout
Returns the Element to be used to contain the child Components of this Container.
An implementation is provided which returns the Container's Element, but if there is a more complex structure to a Container, this may be overridden to return the element into which the layout renders child Components.
Available since: 2.3.0
Returns
- Ext.Element
The Element to render child Components into.
Gets the current size of the component's underlying element, including space taken by its margins.
Available since: Ext JS 3.4.0
Returns
- Object
An object containing the element's size {width: (element width + left/right margins), height: (element height + top/bottom margins)}
Gets the current XY position of the component's underlying element.
Available since: 1.1.0
Parameters
- local : Boolean (optional)
If true the element's left and top are returned instead of page XY (defaults to false)
Returns
- Array
The XY position of the element (e.g., [100, 200])
Returns the outermost Element of this Component which defines the Components overall size.
Usually this will return the same Element as getEl,
but in some cases, a Component may have some more wrapping Elements around its main
active Element.
An example is a ComboBox. It is encased in a wrapping Element which
contains both the <input> Element (which is what would be returned
by its getEl method, and the trigger button Element.
This Element is returned as the resizeEl.
Available since: 2.3.0
Returns
- Ext.Element
The Element which is to be resized by size managing layouts.
Gets the current size of the component's underlying element.
Available since: 1.1.0
Returns
- Object
An object containing the element's size {width: (element width), height: (element height)}
Gets the current width of the component's underlying element.
Available since: Ext JS 3.4.0
Returns
Gets the xtype for this component as registered with Ext.ComponentMgr. For a list of all available xtypes, see the Ext.Component header. Example usage:
var t = new Ext.form.TextField();
alert(t.getXType()); // alerts 'textfield'
Available since: 2.3.0
Returns
- String
The xtype
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.form.TextField();
alert(t.getXTypes()); // alerts 'component/box/field/textfield'
Available since: 2.3.0
Returns
- String
The xtype hierarchy string
Checks to see if this object has any listeners for a specified event
Available since: 1.1.0
Parameters
- eventName : String
The name of the event to check for
Returns
- Boolean
True if the event is being listened for, else false
Hide this component. Listen to the 'beforehide' event and return
false to cancel hiding the component. Fires the 'hide'
event after hiding the component. Note this method is called internally if
the component is configured to be hidden.
Available since: 1.1.0
Returns
- Ext.Component
this
Method to establish a reference to a component.
Available since: Ext JS 3.4.0
Inserts a Component into this Container at a specified index. Fires the beforeadd event before inserting, then fires the add event after the Component has been inserted.
Available since: 2.3.0
Parameters
- index : Number
The index at which the Component will be inserted into the Container's items collection
- component : Ext.Component
The child Component to insert.
Ext uses lazy rendering, and will only render the inserted Component should it become necessary.
A Component config object may be passed in order to avoid the overhead of constructing a real Component object if lazy rendering might mean that the inserted Component will not be rendered immediately. To take advantage of this 'lazy instantiation', set the Ext.Component.xtype config property to the registered type of the Component wanted.
For a list of all available xtypes, see Ext.Component.
Returns
- Ext.Component
component The Component (or config object) that was inserted with the Container's default config values applied.
Inserts any Ext.Toolbar.Item/Ext.Button at the specified index.
Note: See the notes within Ext.Container.add.
Available since: 1.1.0
Parameters
- index : Number
The index where the item is to be inserted
- item : Object/Ext.Toolbar.Item/Ext.Button/Array
The button, or button config object to be inserted, or an array of buttons/configs.
Returns
- Ext.Button/Item
Returns true if this component is visible.
Available since: 1.1.0
Returns
- Boolean
True if this component is visible, false otherwise.
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.form.TextField();
var isText = t.isXType('textfield'); // true
var isBoxSubclass = t.isXType('box'); // true, descended from BoxComponent
var isBoxInstance = t.isXType('box', true); // false, not a direct BoxComponent instance
Available since: 2.3.0
Parameters
- xtype : String/Ext.Component/Class
The xtype to check for this Component. Note that the the component can either be an instance or a component class:
var c = new Ext.Component(); console.log(c.isXType(c)); console.log(c.isXType(Ext.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.
Adds listeners to any Observable object (or Elements) which are automatically removed when this Component is destroyed. Usage:
myGridPanel.mon(myGridPanel.getSelectionModel(), 'selectionchange', handleSelectionChange, null, {buffer: 50});
or:
myGridPanel.mon(myGridPanel.getSelectionModel(), {
selectionchange: handleSelectionChange,
buffer: 50
});
Available since: Ext JS 3.4.0
Parameters
- item : Observable|Element
The item to which to add a listener/listeners.
- ename : Object|String
The event name, or an object containing event name properties.
- fn : Function
Optional. If the
enameparameter was an event name, this is the handler function. - scope : Object
Optional. If the
enameparameter was an event name, this is the scope (thisreference) in which the handler function is executed. - opt : Object
Optional. If the
enameparameter was an event name, this is the addListener options.
Removes listeners that were added by the mon method.
Available since: Ext JS 3.4.0
Parameters
- item : Observable|Element
The item from which to remove a listener/listeners.
- ename : Object|String
The event name, or an object containing event name properties.
- fn : Function
Optional. If the
enameparameter was an event name, this is the handler function. - scope : Object
Optional. If the
enameparameter was an event name, this is the scope (thisreference) in which the handler function is executed.
Returns the next component in the owning container
Available since: Ext JS 3.4.0
Returns
- Object
Appends an event handler to this object (shorthand for addListener.)
Available since: 1.1.0
Parameters
- eventName : String
The type of event to listen for
- handler : Function
The method the event invokes
- 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.
private
Method to manage awareness of when components are added to their respective Container, firing an added event. References are established at add time rather than at render time.
Available since: Ext JS 3.4.0
Parameters
- container : Ext.Container
Container which holds the component
- pos : number
Position at which the component was added
Overrides: Ext.Component.onAdded
Method to manage awareness of when components are removed from their respective Container, firing an removed event. References are properly cleaned up after removing a component from its owning container.
Available since: Ext JS 3.4.0
// protected Called after the component is resized, this method is empty by default but can be implemented by any subclass that needs to perform custom logic after a resize occurs.
Available since: 1.1.0
Parameters
Returns the previous component in the owning container
Available since: Ext JS 3.4.0
Returns
- Object
Removes all listeners for this object
Available since: 1.1.0
Relays selected events from the specified Observable as if the events were fired by this.
Available since: 2.3.0
Parameters
- o : Object
The Observable whose events this object is to relay.
- events : Array
Array of event names to relay.
Removes a component from this container. Fires the beforeremove event before removing, then fires the remove event after the component has been removed.
Available since: 2.3.0
Parameters
- component : Component/String
The component reference or id to remove.
- autoDestroy : Boolean (optional)
True to automatically invoke the removed Component's Ext.Component.destroy function. Defaults to the value of this Container's autoDestroy config.
Returns
- Ext.Component
component The Component that was removed.
Removes all components from this container.
Available since: 2.3.0
Parameters
- autoDestroy : Boolean (optional)
True to automatically invoke the removed Component's Ext.Component.destroy function. Defaults to the value of this Container's autoDestroy config.
Returns
- Array
Array of the destroyed components
Removes a CSS class from the component's underlying element.
Available since: 2.3.0
Parameters
- cls : string
The CSS class name to remove
Returns
- Ext.Component
this
Removes an event handler.
Available since: 1.1.0
Parameters
- eventName : String
The type of event the handler was associated with.
- handler : 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.
Render this Component into the passed HTML element.
If you are using a Container object to house this Component, then do not use the render method.
A Container's child Components are rendered by that Container's layout manager when the Container is first rendered.
Certain layout managers allow dynamic addition of child components. Those that do include Ext.layout.CardLayout, Ext.layout.AnchorLayout, Ext.layout.FormLayout, Ext.layout.TableLayout.
If the Container is already rendered when a new child Component is added, you may need to call the Container's doLayout to refresh the view which causes any unrendered child Components to be rendered. This is required so that you can add multiple child components if needed while only refreshing the layout once.
When creating complex UIs, it is important to remember that sizing and positioning of child items is the responsibility of the Container's layout manager. If you expect child items to be sized in response to user interactions, you must configure the Container with a layout manager which creates and manages the type of layout you have in mind.
Omitting the Container's layout config means that a basic layout manager is used which does nothing but render child components sequentially into the Container. No sizing or positioning will be performed in this situation.
Available since: 1.1.0
Parameters
- container : Element/HTMLElement/String (optional)
The element this Component should be rendered into. If it is being created from existing markup, this should be omitted.
- position : String/Number (optional)
The element ID or DOM node index within the container before which this component will be inserted (defaults to appending to the end of the container)
Returns
- Ext.Component
this
Resume 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: 2.3.0
Sets the overflow on the content element of the component.
Available since: Ext JS 3.4.0
Parameters
- scroll : Boolean
True to allow the Component to auto scroll.
Returns
- Ext.BoxComponent
this
Convenience function for setting disabled/enabled by boolean.
Available since: 1.1.0
Parameters
- disabled : Boolean
Returns
- Ext.Component
this
Sets the height of the component. This method fires the resize event.
Available since: 2.3.0
Parameters
- height : Mixed
The new height to set. This may be one of:
- A Number specifying the new height in the Element's defaultUnits (by default, pixels).
- A String used to set the CSS height style.
- undefined to leave the height unchanged.
Returns
- Ext.BoxComponent
this
Sets the page XY position of the component. To set the left and top instead, use setPosition. This method fires the move event.
Available since: 1.1.0
Parameters
Returns
- Ext.BoxComponent
this
Sets the left and top of the component. To set the page XY position instead, use setPagePosition. This method fires the move event.
Available since: 1.1.0
Parameters
Returns
- Ext.BoxComponent
this
Sets the width and height of this BoxComponent. This method fires the resize event. This method can accept
either width and height as separate arguments, or you can pass a size object like {width:10, height:20}.
Available since: 1.1.0
Parameters
- width : Mixed
The new width to set. This may be one of:
- A Number specifying the new width in the Element's Ext.Element.defaultUnits (by default, pixels).
- A String used to set the CSS width style.
- A size object in the format
{width: widthValue, height: heightValue}. undefinedto leave the width unchanged.
- height : Mixed
The new height to set (not required if a size object is passed as the first arg). This may be one of:
- A Number specifying the new height in the Element's Ext.Element.defaultUnits (by default, pixels).
- A String used to set the CSS height style. Animation may not be used.
undefinedto leave the height unchanged.
Returns
- Ext.BoxComponent
this
Convenience function to hide or show this component by boolean.
Available since: 1.1.0
Parameters
- visible : Boolean
True to show, false to hide
Returns
- Ext.Component
this
Sets the width of the component. This method fires the resize event.
Available since: 2.3.0
Parameters
- width : Mixed
The new width to set. This may be one of:
- A Number specifying the new width in the Element's defaultUnits (by default, pixels).
- A String used to set the CSS width style.
Returns
- Ext.BoxComponent
this
Show this component. Listen to the 'beforeshow' event and return false to cancel showing the component. Fires the 'show' event after showing the component.
Available since: 1.1.0
Returns
- Ext.Component
this
Suspend the firing of all events. (see resumeEvents)
Available since: 2.3.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;
Force the component's size to recalculate based on the underlying element's current height and width.
Available since: 1.1.0
Returns
- Ext.BoxComponent
this
Removes an event handler (shorthand for removeListener.)
Available since: 1.1.0
Parameters
- eventName : String
The type of event the handler was associated with.
- handler : 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.
Update the content area of a component.
Available since: Ext JS 3.4.0
Parameters
- htmlOrData : Mixed
If this component has been configured with a template via the tpl config then it will use this argument as data to populate the template. If this component was not configured with a template, the components content area will be updated via Ext.Element update
- loadScripts : Boolean
(optional) Only legitimate when using the html configuration. Defaults to false
- callback : Function
(optional) Only legitimate when using the html configuration. Callback to execute when scripts have finished loading
Sets the current box measurements of the component's underlying element.
Available since: 1.1.0
Parameters
- box : Object
An object in the format {x, y, width, height}
Returns
- Ext.BoxComponent
this
Events
@bubbles Fires after any Ext.Component is added or inserted into the container.
Available since: 2.3.0
Parameters
- this : Ext.Container
- component : Ext.Component
The component that was added
- index : Number
The index at which the component was added to the container's items collection
Fires when a component is added to an Ext.Container
Available since: Ext JS 3.4.0
Parameters
- this : Ext.Component
- ownerCt : Ext.Container
Container which holds the component
- index : number
Position at which the component was added
Fires when the components in this container are arranged by the associated layout manager.
Available since: 2.3.0
Parameters
- this : Ext.Container
- layout : ContainerLayout
The ContainerLayout implementation for this container
Fires after the component rendering is finished.
The afterrender event is fired after this Component has been rendered, been postprocesed by any afterRender method defined for the Component, and, if stateful, after state has been restored.
Available since: Ext JS 3.4.0
Parameters
- this : Ext.Component
Fires before any Ext.Component is added or inserted into the container. A handler can return false to cancel the add.
Available since: 2.3.0
Parameters
- this : Ext.Container
- component : Ext.Component
The component being added
- index : Number
The index at which the component will be added to the container's items collection
Fires before the component is destroyed. Return false from an event handler to stop the destroy.
Available since: 1.1.0
Parameters
- this : Ext.Component
Fires before the component is hidden by calling the hide method. Return false from an event handler to stop the hide.
Available since: 1.1.0
Parameters
- this : Ext.Component
Fires before any Ext.Component is removed from the container. A handler can return false to cancel the remove.
Available since: 2.3.0
Parameters
- this : Ext.Container
- component : Ext.Component
The component being removed
Fires before the component is rendered. Return false from an event handler to stop the render.
Available since: 1.1.0
Parameters
- this : Ext.Component
Fires before the component is shown by calling the show method. Return false from an event handler to stop the show.
Available since: 1.1.0
Parameters
- this : Ext.Component
Fires before the state of the component is restored. Return false from an event handler to stop the restore.
Available since: 2.3.0
Parameters
- this : Ext.Component
- state : Object
The hash of state values returned from the StateProvider. If this event is not vetoed, then the state object is passed to applyState. By default, that simply copies property values into this Component. The method maybe overriden to provide custom state restoration.
Fires before the state of the component is saved to the configured state provider. Return false to stop the save.
Available since: 2.3.0
Parameters
- this : Ext.Component
- state : Object
The hash of state values. This is determined by calling getState() on the Component. This method must be provided by the developer to return whetever representation of state is required, by default, Ext.Component has a null implementation.
Fires after the component is hidden. Fires after the component is hidden when calling the hide method.
Available since: 1.1.0
Parameters
- this : Ext.Component
Fires after the component is moved.
Available since: 1.1.0
Parameters
- this : Ext.Component
- x : Number
The new x position
- y : Number
The new y position
Fires after the overflow state has changed.
Available since: Ext JS 3.4.0
Parameters
- c : Object
The Container
- lastOverflow : Boolean
overflow state
@bubbles Fires after any Ext.Component is removed from the container.
Available since: 2.3.0
Parameters
- this : Ext.Container
- component : Ext.Component
The component that was removed
Fires when a component is removed from an Ext.Container
Available since: Ext JS 3.4.0
Parameters
- this : Ext.Component
- ownerCt : Ext.Container
Container which holds the component
Fires after the component is resized.
Available since: 1.1.0
Parameters
- this : Ext.Component
- adjWidth : Number
The box-adjusted width that was set
- adjHeight : Number
The box-adjusted height that was set
- rawWidth : Number
The width that was originally specified
- rawHeight : Number
The height that was originally specified
Fires after the component is shown when calling the show method.
Available since: 1.1.0
Parameters
- this : Ext.Component
Fires after the state of the component is restored.
Available since: 2.3.0
Parameters
- this : Ext.Component
- state : Object
The hash of state values returned from the StateProvider. This is passed to applyState. By default, that simply copies property values into this Component. The method maybe overriden to provide custom state restoration.
Fires after the state of the component is saved to the configured state provider.
Available since: 2.3.0
Parameters
- this : Ext.Component
- state : Object
The hash of state values. This is determined by calling getState() on the Component. This method must be provided by the developer to return whetever representation of state is required, by default, Ext.Component has a null implementation.