Ext.form.FieldSet
Hierarchy
Files
Standard container used for grouping items within a form.
var form = new Ext.FormPanel({
title: 'Simple Form with FieldSets',
labelWidth: 75, // label settings here cascade unless overridden
url: 'save-form.php',
frame:true,
bodyStyle:'padding:5px 5px 0',
width: 700,
renderTo: document.body,
layout:'column', // arrange items in columns
defaults: { // defaults applied to items
layout: 'form',
border: false,
bodyStyle: 'padding:4px'
},
items: [{
// Fieldset in Column 1
xtype:'fieldset',
columnWidth: 0.5,
title: 'Fieldset 1',
collapsible: true,
autoHeight:true,
defaults: {
anchor: '-20' // leave room for error icon
},
defaultType: 'textfield',
items :[{
fieldLabel: 'Field 1'
}, {
fieldLabel: 'Field 2'
}, {
fieldLabel: 'Field 3'
}
]
},{
// Fieldset in Column 2 - Panel inside
xtype:'fieldset',
title: 'Show Panel', // title, header, or checkboxToggle creates fieldset header
autoHeight:true,
columnWidth: 0.5,
checkboxToggle: true,
collapsed: true, // fieldset initially collapsed
layout:'anchor',
items :[{
xtype: 'panel',
anchor: '100%',
title: 'Panel inside a fieldset',
frame: true,
height: 100
}]
}]
});
Available since: 1.1.0
Config options
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
true to animate the transition when the panel is collapsed, false to skip the animation (defaults to false).
Defaults to: false
Available since: 2.3.0
Overrides: Ext.Panel.animCollapse
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
true to use height:'auto', false to use fixed height (defaults to false).
Note: Setting autoHeight: true means that the browser will manage the panel's height
based on its contents, and that Ext will not manage it at all. If the panel is within a layout that
manages dimensions (fit, border, etc.) then setting autoHeight: true
can cause issues with scrolling and will not generally work as expected since the panel will take
on the height of its contents rather than the height required by the Ext layout.
Available since: 2.3.0
Overrides: Ext.BoxComponent.autoHeight
A valid url spec according to the Updater Ext.Updater.update method. If autoLoad is not null, the panel will attempt to load its contents immediately upon render.
The URL will become the default URL for this panel's body element, so it may be refreshed at any time.
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 base CSS class applied to the fieldset (defaults to 'x-fieldset').
Defaults to: 'x-fieldset'
Available since: 2.3.0
Overrides: Ext.Panel.baseCls
The bottom toolbar of the panel. This can be a Ext.Toolbar object, a toolbar config, or an array of buttons/button configs to be added to the toolbar. Note that this is not available as a property after render. To access the bottom toolbar after render, use getBottomToolbar.
Note: Although a Toolbar may contain Field components, these will not be updated by a load of an ancestor FormPanel. A Panel's toolbars are not part of the standard Container->Component hierarchy, and so are not scanned to collect form items. However, the values will be submitted because form submission parameters are collected from the DOM tree.
Available since: 2.3.0
A DomHelper element specification object may be specified for any Panel Element.
By default, the Default element in the table below will be used for the html markup to
create a child element with the commensurate Default class name (baseCls will be
replaced by baseCls):
Panel Default Default Custom Additional Additional Element element class element class style ======== ========================== ========= ============== =========== header div baseCls+'-header' headerCfg headerCssClass headerStyle bwrap div baseCls+'-bwrap' bwrapCfg bwrapCssClass bwrapStyle + tbar div baseCls+'-tbar' tbarCfg tbarCssClass tbarStyle + body div baseCls+'-body' bodyCfg bodyCssClass bodyStyle + bbar div baseCls+'-bbar' bbarCfg bbarCssClass bbarStyle + footer div baseCls+'-footer' footerCfg footerCssClass footerStyle
Configuring a Custom element may be used, for example, to force the body Element to use a different form of markup than is created by default. An example of this might be to create a child Panel containing a custom content, such as a header, or forcing centering of all Panel content by having the body be a <center> element:
new Ext.Panel({
title: 'Message Title',
renderTo: Ext.getBody(),
width: 200, height: 130,
bodyCfg: {
tag: 'center',
cls: 'x-panel-body', // Default class not applied if Custom element specified
html: 'Message'
},
footerCfg: {
tag: 'h2',
cls: 'x-panel-footer', // same as the Default class
html: 'footer html'
},
footerCssClass: 'custom-footer', // additional css class, see addClass
footerStyle: 'background-color:red' // see bodyStyle
});
The example above also explicitly creates a footer with custom markup and
styling applied.
Available since: 2.3.0
Additional css class selector to be applied to the body element in the format expected by Ext.Element.addClass (defaults to null). See bodyCfg.
Available since: Ext JS 3.4.0
Custom CSS styles to be applied to the body element in the format expected by Ext.Element.applyStyles (defaults to null). See bodyCfg.
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
The name to assign to the fieldset's checkbox if checkboxToggle = true (defaults to '[checkbox id]-checkbox').
The name to assign to the fieldset's checkbox if checkboxToggle = true (defaults to '[checkbox id]-checkbox').
Available since: 2.3.0
true to render a checkbox into the fieldset frame just in front of the legend to expand/collapse the fieldset when the checkbox is toggled. (defaults to false).
A DomHelper element spec may also be specified to create the checkbox. If true is specified, the default DomHelper config object used to create the element is:
{tag: 'input', type: 'checkbox', name: this.checkboxName || this.id+'-checkbox'}
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
Panels themselves do not directly support being closed, but some Panel subclasses do (like
Ext.Window) or a Panel Class within an Ext.TabPanel. Specify true
to enable closing in such situations. Defaults to false.
Available since: Ext JS 3.4.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
true to render the panel collapsed, false to render it expanded (defaults to
false).
Defaults to: false
Available since: 2.3.0
A CSS class to add to the panel's element after it has been collapsed (defaults to
'x-panel-collapsed').
Defaults to: 'x-panel-collapsed'
Available since: 2.3.0
true to make the fieldset collapsible and have the expand/collapse toggle button automatically rendered into the legend element, false to keep the fieldset statically sized with no collapse button (defaults to false). Another option is to configure checkboxToggle.
Available since: 2.3.0
Overrides: Ext.Panel.collapsible
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
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 panel disabled (default is false). An important note when using the disabled
config on panels is that IE will often fail to initialize the disabled mask element correectly if
the panel's layout has not yet completed by the time the Panel is disabled during the render process.
If you experience this issue, you may need to instead use the afterlayout event to initialize
the disabled state:
new Ext.Panel({
...
listeners: {
'afterlayout': {
fn: function(p){
p.disable();
},
single: true // important, as many layouts can occur
}
}
});
Available since: 2.3.0
Overrides: Ext.Component.disabled
true to enable dragging of this Panel (defaults to false).
For custom drag/drop implementations, an Ext.Panel.DD config could also be passed
in this config instead of true. Ext.Panel.DD is an internal, undocumented class which
moves a proxy Element around in place of the Panel's element, but provides no other behaviour
during dragging or on drop. It is a subclass of Ext.dd.DragSource, so behaviour may be
added by implementing the interface methods of Ext.dd.DragDrop e.g.:
new Ext.Panel({
title: 'Drag me',
x: 100,
y: 100,
renderTo: Ext.getBody(),
floating: true,
frame: true,
width: 400,
height: 200,
draggable: {
// Config option of Ext.Panel.DD class.
// It's a floating Panel, so do not show a placeholder proxy in the original position.
insertProxy: false,
// Called for each mousemove event while dragging the DD object.
onDrag : function(e){
// Record the x,y position of the drag proxy so that we can
// position the Panel at end of drag.
var pel = this.proxy.getEl();
this.x = pel.getLeft(true);
this.y = pel.getTop(true);
// Keep the Shadow aligned if there is one.
var s = this.panel.getEl().shadow;
if (s) {
s.realign(this.x, this.y, pel.getWidth(), pel.getHeight());
}
},
// Called on the mouseup event.
endDrag : function(e){
this.panel.setPosition(this.x, this.y);
}
}
}).show();
Available since: 2.3.0
A Toolbar object, a Toolbar config, or an array of Buttons/Button configs, describing a Toolbar to be rendered into this Panel's footer element.
After render, the fbar property will be an Toolbar instance.
If buttons are specified, they will supersede the fbar configuration property.
The Panel's buttonAlign configuration affects the layout of these items, for example:
var w = new Ext.Window({
height: 250,
width: 500,
bbar: new Ext.Toolbar({
items: [{
text: 'bbar Left'
},'->',{
text: 'bbar Right'
}]
}),
buttonAlign: 'left', // anything but 'center' or 'right' and you can use '-', and '->'
// to control the alignment of fbar items
fbar: [{
text: 'fbar Left'
},'->',{
text: 'fbar Right'
}]
}).show();
Note: Although a Toolbar may contain Field components, these will not be updated by a load of an ancestor FormPanel. A Panel's toolbars are not part of the standard Container->Component hierarchy, and so are not scanned to collect form items. However, the values will be submitted because form submission parameters are collected from the DOM tree.
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
A css class to apply to the x-form-item of fields (see Ext.layout.FormLayout.fieldTpl for details). This property cascades to child containers.
Available since: 2.3.0
Overrides: Ext.Component.itemCls
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
A Ext.KeyMap config object (in the format expected by Ext.KeyMap.addBinding
used to assign custom key handling to this panel (defaults to null).
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
The width of labels. This property cascades to child containers.
Available since: 1.1.0
The Ext.Container.layout to use inside the fieldset (defaults to 'form').
Defaults to: 'form'
Available since: 2.3.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 mask the panel when it is disabled, false to not mask it (defaults
to true). Either way, the panel will always tell its contained elements to disable themselves
when it is disabled, but masking the panel can provide an additional visual cue that the panel is
disabled.
Defaults to: true
Available since: 2.3.0
Minimum width in pixels of all buttons in this panel (defaults to 75)
Defaults to: 75
Available since: 2.3.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
A shortcut for setting a padding style on the body element. The value can either be a number to be applied to all sides, or a normal css string describing padding. Defaults to undefined.
Available since: Ext JS 3.4.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
Defaults to false. When set to true, an extra css class 'x-panel-normal'
will be added to the panel's element, effectively applying css styles suggested by the W3C
(see http://www.w3.org/TR/CSS21/sample.html) to the Panel's body element (not the header,
footer, etc.).
Defaults to: false
Available since: Ext JS 3.4.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 'bodyresize'.
Defaults to: 'bodyresize'
Available since: Ext JS 3.4.0
Overrides: Ext.Container.resizeEvent
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
The title text to be used as innerHTML (html tags are accepted) to display in the panel
header (defaults to ''). When a title is specified the
header element will automatically be created and displayed unless
header is explicitly set to false. If you do not want to specify a
title at config time, but you may want one later, you must either specify a non-empty
title (a blank space ' ' will do) or header:true so that the container
element will get created.
Available since: 2.3.0
true to allow expanding and collapsing the panel (when collapsible = true)
by clicking anywhere in the header bar, false) to allow it only by clicking to tool button
(defaults to false)). If this panel is a child item of a border layout also see the
BorderLayout.Region
floatable config option.
Available since: 2.3.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
Properties
The Panel's body Element which may be used to contain HTML content. The content may be specified in the html config, or it may be loaded using the autoLoad config, or through the Panel's Updater. Read-only.
If this is used to load visible HTML elements in either way, then the Panel may not be used as a Layout for hosting nested Panels.
If this Panel is intended to be used as the host of a Layout (See layout
then the body Element must not be loaded or changed - it is under the control
of the Panel's Layout.
Note: see the Note for el also.
Available since: 2.3.0
private, set in afterRender to signify that the component has been rendered
Defaults to: false
Available since: 2.3.0
private
Defaults to: {duration: 0.25}
Available since: 2.3.0
True if this panel is collapsed. Read-only.
Available since: Ext JS 3.4.0
If this Panel is configured draggable, this property will contain an instance of Ext.dd.DragSource which handles dragging the Panel.
The developer must provide implementations of the abstract methods of Ext.dd.DragSource in order to supply behaviour for each stage of the drag/drop process. See draggable.
Available since: 2.3.0
private, notify box this class will handle heights
Defaults to: true
Available since: 2.3.0
Overrides: Ext.BoxComponent.deferHeight
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
private
Defaults to: {duration: 0.25}
Available since: 2.3.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
protected - these could be used to customize the behavior of the window, but changing them would not be useful without further mofifications and could lead to unexpected or undesirable results.
Defaults to: 'header'
Available since: 2.3.0
Methods
Available since: 1.1.0
Parameters
- config : Object
Configuration options
Returns
Overrides: Ext.Panel.constructor
Adds Component(s) to this Container.
Description :
- Fires the beforeadd event before adding
- The Container's default config values will be applied
accordingly (see
defaultsfor details). - Fires the add event after the component has been added.
Notes :
- If the Container is already rendered when
addis called, you may need to call doLayout to refresh the view which causes any unrendered child Components to be rendered. This is required so that you canaddmultiple child components if needed while only refreshing the layout once. For example:var tb = new Ext.Toolbar(); tb.render(document.body); // toolbar is rendered tb.add({text:'Button 1'}); // add multiple items (defaultType for Toolbar is 'button') tb.add({text:'Button 2'}); tb.doLayout(); // refresh the layout - Warning: Containers directly managed by the BorderLayout layout manager may not be removed or added. See the Notes for BorderLayout for more details.
Available since: 2.3.0
Parameters
- component : ...Object/Array
Either one or more Components to add or an Array of Components to add. See
itemsfor additional information.
Returns
- Ext.Component/Array
The Components that were added.
Adds a button to this panel. Note that this method must be called prior to rendering. The preferred approach is to add buttons via the buttons config.
Available since: 2.3.0
Parameters
- config : String/Object
A valid Ext.Button config. A string will become the text for a default button config, an object will be treated as a button config object.
- handler : Function
The function to be called on button Ext.Button.click
- scope : Object
The scope (
thisreference) in which the button handler function is executed. Defaults to the Button.
Returns
- Ext.Button
The button that was added
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 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');
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
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
Collapses the panel body so that it becomes hidden. Fires the beforecollapse event which will cancel the collapse action if it returns false.
Available since: 2.3.0
Parameters
- animate : Boolean
True to animate the transition, else false (defaults to the value of the animCollapse panel config)
Returns
- Ext.Panel
this
private
Available since: 2.3.0
Parameters
- config : Object
- defaultType : Object
private - wraps up an animation param with internal callbacks
Available since: 2.3.0
Parameters
- a : Object
- cb : Object
- scope : Object
private
Available since: 2.3.0
Parameters
- name : Object
- pnode : Object
private
Available since: 2.3.0
Parameters
- cls : Object
- useShim : Object
- appendTo : Object
private
Available since: 2.3.0
Parameters
- t : Object
- tc : Object
- overCls : Object
- panel : Object
private
Available since: Ext JS 3.4.0
Parameters
- tb : Object
- options : 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
Expands the panel body so that it becomes visible. Fires the beforeexpand event which will cancel the expand action if it returns false.
Available since: 2.3.0
Parameters
- animate : Boolean
True to animate the transition, else false (defaults to the value of the animCollapse panel config)
Returns
- Ext.Panel
this
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.
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.
Returns the height in pixels of the framing elements of this panel (including any top and bottom bars and header and footer elements, but not including the body height). To retrieve the body height see getInnerHeight.
Available since: 2.3.0
Returns
- Number
The frame height
Returns the width in pixels of the framing elements of this panel (not including the body width). To retrieve the body width see getInnerWidth.
Available since: 2.3.0
Returns
- Number
The frame width
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 height in pixels of the body element (not including the height of any framing elements). For the frame height see getFrameHeight.
Available since: 2.3.0
Returns
- Number
The body height
Returns the width in pixels of the body element (not including the width of any framing elements). For the frame width see getFrameWidth.
Available since: 2.3.0
Returns
- Number
The body width
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
private
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.
Overrides: Ext.Container.getLayoutTarget
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)}
Get the Ext.Updater for this panel. Enables you to perform Ajax updates of this panel's body.
Available since: 2.3.0
Returns
- Ext.Updater
The Updater
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.
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.
Loads this content panel immediately with content returned from an XHR call.
Available since: 2.3.0
Parameters
- config : Object/String/Function
A config object containing any of the following options:
panel.load({ url: 'your-url.php', params: {param1: 'foo', param2: 'bar'}, // or a URL encoded string callback: yourFunction, scope: yourObject, // optional scope for the callback discardUrl: false, nocache: false, text: 'Loading...', timeout: 30, scripts: false });The only required property is url. The optional properties nocache, text and scripts are shorthand for disableCaching, indicatorText and loadScripts and are used to set their associated property on this panel Updater instance.
Returns
- Ext.Panel
this
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
private
Available since: Ext JS 3.4.0
Parameters
- w : Object
- h : Object
This function is called by the fieldset's checkbox when it is toggled (only applies when checkboxToggle = true). This method should never be called externally, but can be overridden to provide custom behavior when the checkbox is toggled if needed.
Available since: 2.3.0
private
Available since: 2.3.0
Parameters
- doAnim : Object
- animArg : Object
Overrides: Ext.Panel.onCollapse
private
Available since: 2.3.0
Parameters
- doAnim : Object
- animArg : Object
Overrides: Ext.Panel.onExpand
Available since: Ext JS 3.4.0
Parameters
- shallow : Object
- force : Object
Overrides: Ext.Container.onLayout
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
private
Available since: 2.3.0
Parameters
- ct : Object
- position : Object
Overrides: Ext.Panel.onRender
private
Available since: 2.3.0
Parameters
- adjWidth : Object
- adjHeight : Object
- rawWidth : Object
- rawHeight : Object
Overrides: Ext.BoxComponent.onResize
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
Sets the title text for the panel and optionally the icon class.
In order to be able to set the title, a header element must have been created
for the Panel. This is triggered either by configuring the Panel with a non-blank title,
or configuring it with header: true.
Available since: 2.3.0
Parameters
- title : String
The title text to set
- iconCls : String (optional)
iconCls A user-defined CSS class that provides the icon image for this panel
Returns
- Ext.Panel
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
Shortcut for performing an expand or collapse based on the current state of the panel.
Available since: 2.3.0
Parameters
- animate : Boolean
True to animate the transition, else false (defaults to the value of the animCollapse panel config)
Returns
- Ext.Panel
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 Panel is collapsed. A handler can return false to cancel the collapse.
Available since: 2.3.0
Parameters
- p : Ext.Panel
the Panel being collapsed.
- animate : Boolean
True if the collapse is animated, else false.
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 Panel is expanded. A handler can return false to cancel the expand.
Available since: 2.3.0
Parameters
- p : Ext.Panel
The Panel being expanded.
- animate : Boolean
True if the expand is animated, else false.
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 Panel has been collapsed.
Available since: 2.3.0
Parameters
- p : Ext.Panel
the Panel that has been collapsed.
Fires after the Panel has been expanded.
Available since: 2.3.0
Parameters
- p : Ext.Panel
The Panel that has been expanded.
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
@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.