Hierarchy
Mixins
A field container which has a specialized layout for arranging Ext.form.field.Checkbox controls into columns, and provides convenience Ext.form.field.Field methods for getting, setting, and validating the group of checkboxes as a whole.
Validation: Individual checkbox fields themselves have no default validation behavior, but sometimes you want to require a user to select at least one of a group of checkboxes. CheckboxGroup allows this by setting the config allowBlank:false; when the user does not check at least one of the checkboxes, the entire group will be highlighted as invalid and the error message will be displayed according to the msgTarget config.
Layout: The default layout for CheckboxGroup makes it easy to arrange the checkboxes into columns; see the columns and vertical config documentation for details. You may also use a completely different layout by setting the layout to one of the other supported layout types; for instance you may wish to use a custom arrangement of hbox and vbox containers. In that case the checkbox components at any depth will still be managed by the CheckboxGroup's validation.
Example usage:
Ext.create('Ext.form.Panel', {
title: 'RadioGroup Example',
width: 300,
height: 125,
bodyPadding: 10,
renderTo: Ext.getBody(),
items:[{
xtype: 'radiogroup',
fieldLabel: 'Two Columns',
// Arrange radio buttons into two columns, distributed vertically
columns: 2,
vertical: true,
items: [
{boxLabel: 'Item 1', name: 'rb', inputValue: '1'},
{boxLabel: 'Item 2', name: 'rb', inputValue: '2', checked: true},
{boxLabel: 'Item 3', name: 'rb', inputValue: '3'},
{boxLabel: 'Item 4', name: 'rb', inputValue: '4'},
{boxLabel: 'Item 5', name: 'rb', inputValue: '5'},
{boxLabel: 'Item 6', name: 'rb', inputValue: '6'}
]
}]
});
The CSS class to be applied to the body content element. Defaults to 'x-form-item-body'.
The CSS class to be applied to the body content element. Defaults to 'x-form-item-body'.
The base CSS class to apply to this components's element. This will also be prepended to elements within this component like Panel's body will get a class x-panel-body. This means that if you create a subclass of Panel, and you want it to get all the Panels styling for the element and the body, you leave the baseCls x-panel and use componentCls to add specific styling for this component.
The CSS class to be applied to the special clearing div rendered directly after the field contents wrapper to provide field clearing (defaults to 'x-clear').
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.
CSS Class to be added to a components root level element to give distinction to it via styling.
CSS Class to be added to a components root level element to give distinction to it via styling.
CSS class to add when the Component is disabled. Defaults to 'x-item-disabled'.
CSS class to add when the Component is disabled. Defaults to 'x-item-disabled'.
The CSS class to be applied to the error message element. Defaults to 'x-form-error-msg'.
The CSS class to be applied to the error message element. Defaults to 'x-form-error-msg'.
An extra CSS class to be applied to the body content element in addition to baseBodyCls. Defaults to 'x-form-checkboxgroup-body'.
A CSS class to be applied to the outermost element to denote that it is participating in the form field layout. Defaults to 'x-form-item'.
The CSS class to use when marking the component invalid (defaults to 'x-form-invalid')
The CSS class to use when marking the component invalid (defaults to 'x-form-invalid')
The CSS class to be applied to the label element. Defaults to 'x-form-item-label'.
The CSS class to be applied to the label element. Defaults to 'x-form-item-label'.
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.
The class that is added to the content target when you set styleHtmlContent to true. Defaults to 'x-html'
The class that is added to the content target when you set styleHtmlContent to true. Defaults to 'x-html'
If specified, then the component will be displayed with this value as its active error when first rendered. Defaults to undefined. Use setActiveError or unsetActiveError to change it after component creation.
The template used to format the Array of error messages passed to setActiveErrors into a single HTML string. By default this renders each message as an item in an unordered list.
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.container.Card and Ext.layout.container.Fit).
False to validate that at least one item in the group is checked (defaults to true). If no items are selected at validation time, blankText will be used as the error text.
If true the container will automatically destroy any contained component that is removed from it, else destruction must be handled manually. Defaults to true.
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 and Ext.container.Container, this defaults to 'div'. The more complex Sencha classes use a more complex DOM structure specified by their own renderTpls.
This is intended to allow the developer to create application-specific utility Components encapsulated by different DOM elements. Example usage:
{
xtype: 'component',
autoEl: {
tag: 'img',
src: 'http://www.example.com/example.jpg'
}
}, {
xtype: 'component',
autoEl: {
tag: 'blockquote',
html: 'autoEl is cool!'
}
}, {
xtype: 'container',
autoEl: 'ul',
cls: 'ux-unordered-list',
items: {
xtype: 'component',
autoEl: 'li',
html: 'First list item'
}
}
Whether to adjust the component's body area to make room for 'side' or 'under' error messages. Defaults to true.
Whether to adjust the component's body area to make room for 'side' or 'under' error messages. Defaults to true.
This config is intended mainly for floating Components which may or may not be shown. Instead of using renderTo in the configuration, and rendering upon construction, this allows a Component to render itself upon first show.
Specify as true
to have this Component render to the document body upon first show.
Specify as an element, or the ID of an element to have this Component render to a specific element upon first show.
This defaults to true
for the Window class.
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
).
True to automatically show the component upon creation. This config option may only be used for floating components or components that use autoRender. Defaults to false.
The CSS class to be applied to the body content element. Defaults to 'x-form-item-body'.
The CSS class to be applied to the body content element. Defaults to 'x-form-item-body'.
The base CSS class to apply to this components's element. This will also be prepended to elements within this component like Panel's body will get a class x-panel-body. This means that if you create a subclass of Panel, and you want it to get all the Panels styling for the element and the body, you leave the baseCls x-panel and use componentCls to add specific styling for this component.
Error text to display if the allowBlank validation fails (defaults to "You must select at least one item in this group")
Specifies the border for this component. The border can be a single numeric value to apply to all sides or it can be a CSS style specification for each style, for example: '10 5 3 10'.
An array of events that, when fired, should be bubbled to any parent container.
See Ext.util.Observable.enableBubble.
Defaults to ['add', 'remove']
.
The CSS class to be applied to the special clearing div rendered directly after the field contents wrapper to provide field clearing (defaults to 'x-clear').
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.
Specifies the number of columns to use when displaying grouped checkbox/radio controls using automatic layout. This config can take several types of values:
The controls will be rendered one per column on one row and the width of each column will be evenly distributed based on the width of the overall field container. This is the default.
If you specific a number (e.g., 3) that number of columns will be created and the contained controls will be automatically distributed based on the value of vertical.
You can also specify an array of column widths, mixing integer (fixed width) and float (percentage width) values as needed (e.g., [100, .25, .75]). Any integer values will be rendered first, then any float values will be calculated as a percentage of the remaining space. Float values do not have to add up to 1 (100%) although if you want the controls to take up the entire field container you should do so.
If set to true, the field container will automatically combine and display the validation errors from all the fields it contains as a single error on the container, according to the configured msgTarget. Defaults to false.
If set to true, and there is no defined fieldLabel, the field container will automatically generate its label by combining the labels of all the fields it contains. Defaults to false.
CSS Class to be added to a components root level element to give distinction to it via styling.
CSS Class to be added to a components root level element to give distinction to it via styling.
The sizing and positioning of a Component's internal Elements is the responsibility of the Component's layout manager which sizes a Component's internal structure in response to the Component being sized.
Generally, developers will not use this configuration as all provided Components which need their internal elements sizing (Such as input fields) come with their own componentLayout managers.
The default layout manager will be used on instances of the base Ext.Component class which simply sizes the Component's encapsulating element to the height and width specified in the setSize method.
Optional. Specify an existing HTML element, or the id
of an existing HTML element to use as the content
for this component.
layout
scheme that the Component may use. It is just HTML. Layouts operate on child items
.x-hidden
or the x-hide-display
CSS class to
prevent a brief flicker of the content before it is rendered to the panel.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'
.
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.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.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.
})
]
CSS class to add when the Component is disabled. Defaults to 'x-item-disabled'.
CSS class to add when the Component is disabled. Defaults to 'x-item-disabled'.
Specify as true to make a floating Component draggable using the Component's encapsulating element as the drag handle.
This may also be specified as a config object for the ComponentDragger which is instantiated to perform dragging.
For example to create a Component which may only be dragged around using a certain internal element as the drag handle, use the delegate option:
new Ext.Component({ constrain: true, floating:true, style: { backgroundColor: '#fff', border: '1px solid black' }, html: '<h1 style="cursor:move">The title</h1><p>The content</p>', draggable: { delegate: 'h1' } }).show();
The CSS class to be applied to the error message element. Defaults to 'x-form-error-msg'.
The CSS class to be applied to the error message element. Defaults to 'x-form-error-msg'.
An extra CSS class to be applied to the body content element in addition to baseBodyCls. Defaults to 'x-form-checkboxgroup-body'.
If specified, the properties in this object are used as default config values for each Ext.form.Labelable instance (e.g. Ext.form.field.Base or Ext.form.FieldContainer) that is added as a descendant of this container. Corresponding values specified in an individual field's own configuration, or from the defaults config of its parent container, will take precedence. See the documentation for Ext.form.Labelable to see what config options may be specified in the fieldDefaults.
Example:
new Ext.form.Panel({
fieldDefaults: {
labelAlign: 'left',
labelWidth: 100
},
items: [{
xtype: 'fieldset',
defaults: {
labelAlign: 'top'
},
items: [{
name: 'field1'
}, {
name: 'field2'
}]
}, {
xtype: 'fieldset',
items: [{
name: 'field3',
labelWidth: 150
}, {
name: 'field4'
}]
}]
});
In this example, field1 and field2 will get labelAlign:'top' (from the fieldset's defaults) and labelWidth:100 (from fieldDefaults), field3 and field4 will both get labelAlign:'left' (from fieldDefaults and field3 will use the labelWidth:150 from its own config.
The label for the field. It gets appended with the labelSeparator, and its position and sizing is determined by the labelAlign, labelWidth, and labelPad configs. Defaults to undefined.
Specify as true to float the Component outside of the document flow using CSS absolute positioning.
Components such as Windows and Menus are floating by default.
Floating Components that are programatically rendered will register themselves with the global ZIndexManager
A floating Component may be used as a child item of a Container. This just allows the floating Component to seek a ZIndexManager by examining the ownerCt chain.
When configured as floating, Components acquire, at render time, a ZIndexManager which manages a stack of related floating Components. The ZIndexManager brings a single floating Component to the top of its stack when the Component's toFront method is called.
The ZIndexManager is found by traversing up the ownerCt chain to find an ancestor which itself is floating. This is so that descendant floating Components of floating Containers (Such as a ComboBox dropdown within a Window) can have its zIndex managed relative to any siblings, but always above that floating ancestor Container.
If no floating ancestor is found, a floating Component registers itself with the default ZIndexManager.
Floating components do not participate in the Container's layout. Because of this, they are not rendered until you explicitly show them.
After rendering, the ownerCt reference is deleted, and the floatParent property is set to the found floating ancestor Container. If no floating ancestor Container was found the floatParent property will not be set.
Specifies whether the floated component should be automatically focused when it is brought to the front. Defaults to true.
A CSS class to be applied to the outermost element to denote that it is participating in the form field layout. Defaults to 'x-form-item'.
Specify as true
to have the Component inject framing elements within the Component at render time to
provide a graphical rounded frame around the Component content.
This is only necessary when running on outdated, or non standard-compliant browsers such as Microsoft's Internet Explorer prior to version 9 which do not support rounded corners natively.
The extra space taken up by this framing is available from the read only property frameSize.
When set to true, the label element (fieldLabel and labelSeparator) will be automatically hidden if the fieldLabel is empty. Setting this to false will cause the empty label element to be rendered and space to be reserved for it; this is useful if you want a field without a label to line up with other labeled fields in the same form. Defaults to true.
If you wish to unconditionall hide the label even if a non-empty fieldLabel is configured, then set the hideLabel config to true.
Set to true to completely hide the label element (fieldLabel and labelSeparator). Defaults to false.
Also see hideEmptyLabel, which controls whether space will be reserved for an empty fieldLabel.
A String which specifies how this Component's encapsulating DOM element will be hidden. Values may be
'display'
: The Component will be hidden using the display: none
style.'visibility'
: The Component will be hidden using the visibility: hidden
style.'offsets'
: The Component will be hidden by absolutely positioning it out of the visible area of the document. This
is useful when a hidden Component must maintain measurable dimensions. Hiding using display
results
in a Component having zero dimensions.'display'
.
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.
The unique id of this component instance (defaults to an auto-assigned id).
It should not be necessary to use this configuration except for singleton objects in your application. Components created with an id may be accessed globally using Ext.getCmp.
Instead of using assigned ids, use the itemId config, and ComponentQuery which provides selector-based searching for Sencha Components analogous to DOM querying. The Container class contains shortcut methods to query its descendant Components by selector.
Note that this id will also be used as the element id for the containing HTML element that is rendered to the page for this component. This allows you to write id-based CSS rules to style the specific instance of this component uniquely, and also to select sub-elements using this component's id as the parent.
Note: to avoid complications imposed by a unique id also see itemId
.
Note: to access the container of a Component see ownerCt
.
The CSS class to use when marking the component invalid (defaults to 'x-form-invalid')
The CSS class to use when marking the component invalid (defaults to 'x-form-invalid')
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.Container.getComponent which will retrieve
itemId
's or id's. Since itemId
's are an index to the
container's internal MixedCollection, the itemId
is scoped locally to the container --
avoiding potential conflicts with Ext.ComponentManager which requires a unique
id
.
var c = new Ext.panel.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
Also see id, query
, down
and child
.
Note: to access the container of an item see ownerCt.
Controls the position and alignment of the fieldLabel. Valid values are:
The CSS class to be applied to the label element. Defaults to 'x-form-item-label'.
The CSS class to be applied to the label element. Defaults to 'x-form-item-label'.
The string to use when joining the labels of individual sub-fields, when combineLabels is set to true. Defaults to ', '.
The amount of space in pixels between the fieldLabel and the input field. Defaults to 5.
The amount of space in pixels between the fieldLabel and the input field. Defaults to 5.
Character(s) to be inserted at the end of the label text.
Character(s) to be inserted at the end of the label text.
A CSS style specification string to apply directly to this field's label. Defaults to undefined.
A CSS style specification string to apply directly to this field's label. Defaults to undefined.
The width of the fieldLabel in pixels. Only applicable if the labelAlign is set to "left" or "right". Defaults to 100.
The width of the fieldLabel in pixels. Only applicable if the labelAlign is set to "left" or "right". Defaults to 100.
The rendering template for the field decorations. Component classes using this mixin should include logic to use this as their renderTpl, and implement the getSubTplMarkup method to generate the field body content.
*Important: In order for child items to be correctly sized and
positioned, typically a layout manager must be specified through
the layout
configuration option.
The sizing and positioning of child items is the responsibility of
the Container's layout manager which creates and manages the type of layout you have in mind. For example:
If the layout configuration is not explicitly specified for a general purpose container (e.g. Container or Panel) the default layout manager will be used which does nothing but render child components sequentially into the Container (no sizing or positioning will be performed in this situation).
layout
may be specified as either as an Object or
as a String:
layout: {
type: 'vbox',
align: 'left'
}
type
The layout type to be used for this container. If not specified, a default Ext.layout.container.Auto will be created and used.
Valid layout type
values are:
Additional layout specific configuration properties may also be
specified. For complete details regarding the valid config options for
each layout type, see the layout class corresponding to the type
specified.
layout: {
type: 'vbox',
padding: '5',
align: 'left'
}
layout
The layout type
to be used for this container (see list
of valid layout type values above).
Additional layout specific configuration properties. For complete
details regarding the valid config options for each layout type, see the
layout class corresponding to the layout
specified.
(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 child element of a Component, we need to specify the element
option to
identify the Component property to add a DOM listener to:
new Ext.panel.Panel({
width: 400,
height: 200,
dockedItems: [{
xtype: 'toolbar'
}],
listeners: {
click: {
element: 'el', //bind to the underlying el property on the panel
fn: function(){ console.log('click el'); }
},
dblclick: {
element: 'body', //bind to the underlying body property on the panel
fn: function(){ console.log('dblclick body'); }
}
}
});
A configuration object or an instance of a Ext.ComponentLoader to load remote content for this Component.
A configuration object or an instance of a Ext.ComponentLoader to load remote content for this Component.
Specifies the margin for this component. The margin can be a single numeric value to apply to all sides or it can be a CSS style specification for each style, for example: '10 5 3 10'.
The maximum value in pixels which this Component will set its height to.
Warning: This will override any size management applied by layout managers.
The maximum value in pixels which this Component will set its width to.
Warning: This will override any size management applied by layout managers.
The minimum value in pixels which this Component will set its height to.
Warning: This will override any size management applied by layout managers.
The minimum value in pixels which this Component will set its width to.
Warning: This will override any size management applied by layout managers.
The location where the error message text should display. Must be one of the following values:
qtip
Display a quick tip containing the message when the user hovers over the field. This is the default.
title
Display the message in a default browser title attribute popup.under
Add a block div beneath the field containing the error message.side
Add an error icon to the right of the field, displaying the message in a popup on hover.none
Don't display any error message. This might be useful if you are implementing custom error display.[element id]
Add the error message directly to the innerHTML of the specified element.The name of the field (defaults to undefined). By default this is used as the parameter name when including the field value in a form submit(). To prevent the field from being included in the form submit, set submitValue to false.
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.
Specifies the padding for this component. The padding can be a single numeric value to apply to all sides or it can be a CSS style specification for each style, for example: '10 5 3 10'.
An object or array of objects that will provide custom functionality for this component. The only requirement for a valid plugin is that it contain an init method that accepts a reference of type Ext.Component. When a component is created, if any plugins are available, the component will call the init method on each plugin, passing a reference to itself. Each plugin can then call methods or respond to events on the component as needed to provide its functionality.
true to disable displaying any error message set on this object. Defaults to false.
true to disable displaying any error message set on this object. Defaults to false.
An object containing properties specifying DomQuery selectors which identify child elements created by the render process.
After the Component's internal structure is rendered according to the renderTpl, this object is iterated through,
and the found Elements are added as properties to the Component using the renderSelector
property name.
For example, a Component which rendered an image, and description into its element might use the following properties coded into its prototype:
renderTpl: '<img src="{imageUrl}" class="x-image-component-img"><div class="x-image-component-desc">{description}>/div<',
renderSelectors: {
image: 'img.x-image-component-img',
descEl: 'div.x-image-component-desc'
}
After rendering, the Component would have a property image
referencing its child img
Element,
and a property descEl
referencing the div
Element which contains the description.
Specify the id of the element, a DOM element or an existing Element that this component will be rendered into.
See render
also.
An XTemplate used to create the internal structure inside this Component's encapsulating Element.
You do not normally need to specify this. For the base classes Ext.Component
and Ext.container.Container, this defaults to null
which means that they will be initially rendered
with no internal structure; they render their Element empty. The more specialized ExtJS and Touch classes
which use a more complex DOM structure, provide their own template definitions.
This is intended to allow the developer to create application-specific utility Components with customized internal structure.
Upon rendering, any created child elements may be automatically imported into object properties using the renderSelectors option.
Specify as true
to apply a Resizer to this Component
after rendering.
May also be specified as a config object to be passed to the constructor of Resizer
to override any defaults. By default the Component passes its minimum and maximum size, and uses
Ext.resizer.Resizer.dynamic: false
A valid Ext.resizer.Resizer handles config string (defaults to 'all'). Only applies when resizable = true.
A valid Ext.resizer.Resizer handles config string (defaults to 'all'). Only applies when resizable = true.
A buffer to be applied if many state events are fired within a short period. Defaults to 100.
A buffer to be applied if many state events are fired within a short period. Defaults to 100.
Specifies whether the floating component should be given a shadow. Set to true to automatically create an Ext.Shadow, or a string indicating the shadow's display Ext.Shadow.mode. Set to false to disable the shadow. (Defaults to 'sides'.)
An array of events that, when fired, should trigger this object to
save its state (defaults to none). stateEvents
may be any type
of event supported by this object, including browser or custom events
(e.g., ['click', 'customerchange']).
See stateful
for an explanation of saving and
restoring object state.
The unique id for this object to use for state management purposes.
See stateful for an explanation of saving and restoring state.
A flag which causes the object to attempt to restore the state of
internal properties from a saved state on startup. The object must have
a stateId
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 object.
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 object attempts to save state when one of the events
listed in the stateEvents
configuration fires.
To save state, a stateful object 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 restorable state of the object.
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 stateId
During construction, a stateful object attempts to restore
its state by calling Ext.state.Manager.get passing the
stateId
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.
A custom style specification to be applied to this component's Element. Should be a valid argument to Ext.core.Element.applyStyles.
new Ext.panel.Panel({
title: 'Some Title',
renderTo: Ext.getBody(),
width: 400, height: 300,
layout: 'form',
items: [{
xtype: 'textarea',
style: {
width: '95%',
marginBottom: '10px'
}
},
new Ext.button.Button({
text: 'Send',
minWidth: '100',
style: {
marginBottom: '10px'
}
})
]
});
The class that is added to the content target when you set styleHtmlContent to true. Defaults to 'x-html'
The class that is added to the content target when you set styleHtmlContent to true. Defaults to 'x-html'
True to automatically style the html inside the content target of this component (body for panels). Defaults to false.
True to automatically style the html inside the content target of this component (body for panels). Defaults to false.
If true, suspend calls to doLayout. Useful when batching multiple adds to a container and not passing them as multiple arguments or an array.
An data
and
tplWriteMode
configurations.
The Ext.(X)Template method to use when
updating the content area of the Component. Defaults to 'overwrite'
(see Ext.XTemplate.overwrite
).
A set style for a component. Can be a string or an Array of multiple strings (UIs)
A set style for a component. Can be a string or an Array of multiple strings (UIs)
Specifies whether this field should be validated immediately whenever a change in its value is detected. Defaults to true. If the validation results in a change in the field's validity, a validitychange event will be fired. This allows the field to show feedback about the validity of its contents immediately as the user is typing.
When set to false, feedback will not be immediate. However the form will still be validated before submitting if the clientValidation option to Ext.form.Basic.doAction is enabled, or if the field or form are validated manually.
See also Ext.form.field.Base.checkChangeEventsfor controlling how changes to the field's value are detected.
A value to initialize this field with (defaults to undefined).
A value to initialize this field with (defaults to undefined).
True to distribute contained controls across columns, completely filling each column top to bottom before starting on the next column. The number of controls in each column will be automatically calculated to keep columns as even as possible. The default value is false, so that controls will be added to columns one at a time, completely filling each row left to right before starting on the next row.
The div Element wrapping the component's contents. Only available after the component has been rendered.
The div Element wrapping the component's contents. Only available after the component has been rendered.
Clear any invalid styles/messages for this field. Components using this mixin should implement this method to update the components rendering to clear any existing messages.
Note: this method does not cause the Field's validate or isValid methods to
return true
if the value does not pass validation. So simply clearing a field's errors
will not necessarily allow submission of forms submitted with the Ext.form.action.Submit.clientValidation
option set.
Read-only property indicating whether or not the component can be dragged
Read-only property indicating whether or not the component can be dragged
The div Element that will contain the component's error message(s). Note that depending on the configured msgTarget, this element may be hidden in favor of some other form of presentation, but will always be present in the DOM for use by assistive technologies.
Optional. Only present for floating Components which were inserted as descendant items of floating Containers.
Floating Components that are programatically rendered will not have a floatParent
property.
For floating Components which are child items of a Container, the floatParent will be the floating ancestor Container which is responsible for the base z-index value of all its floating descendants. It provides a ZIndexManager which provides z-indexing services for all its descendant floating Components.
For example, the dropdown BoundList of a ComboBox which is in a Window will have the Window as its
floatParent
See floating and zIndexManager
Read-only property indicating the width of any framing elements which were added within the encapsulating element to provide graphical, rounded borders. See the frame config.
This is an object containing the frame width in pixels for all four sides of the Component containing the following properties:
top
The width of the top framing element in pixels.right
The width of the right framing element in pixels.bottom
The width of the bottom framing element in pixels.left
The width of the left framing element in pixels.@deprecated 4.0 Replaced by getActiveAnimation Returns thq current animation if this object has any effects actively running or queued, else returns false.
Flag denoting that this object is labelable as a field. Always true.
Flag denoting that this object is labelable as a field. Always true.
Flag denoting that this component is a Field. Always true.
Flag denoting that this component is a Field. Always true.
The MixedCollection containing all the child items of this container.
The MixedCollection containing all the child items of this container.
The label Element for this component. Only available after the component has been rendered.
The label Element for this component. Only available after the component has been rendered.
Associate one or more error messages with this field. Components using this mixin should implement this method to update the component's rendering to display the messages.
Note: this method does not cause the Field's validate or isValid methods to
return false
if the value does pass validation. So simply marking a Field as invalid
will not prevent submission of forms submitted with the Ext.form.action.Submit.clientValidation
option set.
This is an internal flag that you use when creating custom components. By default this is set to true which means that every component gets a mask when its disabled. Components like FieldContainer, FieldSet, Field, Button, Tab override this property to false since they want to implement custom disable logic.
The original value of the field as configured in the value configuration, or as loaded by
the last form load operation if the form's trackResetOnLoad
setting is true
.
Read-only property indicating whether or not the component has been rendered.
Read-only property indicating whether or not the component has been rendered.
Stops any running effects and clears this object's internal effects queue if it contains any additional effects that haven't started yet.
Optional. Only present for floating Components after they have been rendered.
A reference to the ZIndexManager which is managing this Component's z-index.
The ZIndexManager maintains a stack of floating Component z-indices, and also provides a single modal mask which is insert just beneath the topmost visible modal floating Component.
Floating Components may be brought to the front or sent to the back of the z-index stack.
This defaults to the global ZIndexManager for floating Components that are programatically rendered.
For floating Components which are added to a Container, the ZIndexManager is acquired from the first ancestor Container found which is floating, or if not found the global ZIndexManager is used.
See floating and floatParent
Creates a new CheckboxGroup
Creates a new CheckboxGroup
Configuration options
Adds Component(s) to this Container.
defaults
for details).add
event after the component has been added.If the Container is already rendered when add
is called, it will render the newly added Component into its content area.
If the Container was configured with a size-managing layout manager, the Container will recalculate its internal layout at this time too.
Note that the default layout manager simply renders child Components sequentially into the content area and thereafter performs no sizing.
If adding multiple new child Components, pass them as an array to the add
method, so that only one layout recalculation is performed.
tb = new Ext.toolbar.Toolbar({
renderTo: document.body
}); // toolbar is rendered
tb.add([{text:'Button 1'}, {text:'Button 2'}]); // add multiple items. (defaultType for Toolbar is 'button')
Components directly managed by the BorderLayout layout manager may not be removed or added. See the Notes for BorderLayout for more details.
Either one or more Components to add or an Array of Components to add.
See items
for additional information.
The Components that were added.
@deprecated 4.0 Replaced by {link:#addCls} Adds a CSS class to the top level element representing this component.
@deprecated 4.0 Replaced by {link:#addCls} Adds a CSS class to the top level element representing this component.
The CSS class name to add
Returns the Component to allow method chaining.
Adds a CSS class to the top level element representing this component.
Adds a CSS class to the top level element representing this component.
The CSS class name to add
Returns the Component to allow method chaining.
Adds a cls to the uiCls array, which will also call addUIClsToElement and adds to all elements of this component.
Adds a cls to the uiCls array, which will also call addUIClsToElement and adds to all elements of this component.
A string or an array of strings to add to the uiCls
Adds the specified events to the list of events which this Observable may fire.
Adds the specified events to the list of events which this Observable may fire.
Either an object with event names as properties with a value of true
or the first event name string if multiple event names are being passed as separate parameters.
[additional] Optional additional event names if multiple event names are being passed as separate parameters. Usage:
this.addEvents('storeloaded', 'storecleared');
Appends an event handler to this object.
Appends an event handler to this object.
The name of the event to listen for. May also be an object who's property names are event names. See
The method the event invokes.
(optional) The scope (this
reference) in which the handler function is executed.
If omitted, defaults to the object which fired the event.
(optional) An object containing handler configuration. properties. This may contain any of the following properties:
this
reference) in which the handler function is executed.
If omitted, defaults to the object which fired the event.This option is useful during Component construction to add DOM event listeners to elements of Components which will exist only after the Component is rendered. For example, to add a click listener to a Panel's body:
new Ext.panel.Panel({
title: 'The title',
listeners: {
click: this.handlePanelClick,
element: 'body'
}
});
When added in this way, the options available are the options applicable to Ext.core.Element.addListener
Combining Options
Using the options argument, it is possible to combine different types of listeners:
A delayed, one-time listener.
myPanel.on('hide', this.handleClick, this, {
single: true,
delay: 100
});
Attaching multiple handlers in 1 call
The method also allows for a single argument to be passed which is a config object containing properties
which specify multiple events. For example:
myGridPanel.on({
cellClick: this.onCellClick,
mouseover: this.onMouseOver,
mouseout: this.onMouseOut,
scope: this // Important. Ensure "this" is correct during handler execution
});
.
Adds listeners to any Observable object (or Element) which are automatically removed when this Component is destroyed.
Adds listeners to any Observable object (or Element) which are automatically removed when this Component is destroyed.
The item to which to add a listener/listeners.
The event name, or an object containing event name properties.
Optional. If the ename
parameter was an event name, this
is the handler function.
Optional. If the ename
parameter was an event name, this
is the scope (this
reference) in which the handler function is executed.
Optional. If the ename
parameter was an event name, this
is the addListener options.
Add events that will trigger the state to be saved.
Add events that will trigger the state to be saved.
The event name or an array of event names.
The box-adjusted width that was set
The box-adjusted height that was set
Whether or not the height/width are stored on the component permanently
Component which sent the layout. Only used when isSetSize is false.
Aligns this floating Component to the specified element
Aligns this floating Component to the specified element
The element or Ext.Component to align to. If passing a component, it must be a omponent instance. If a string id is passed, it will be used as an element id.
(optional, defaults to "tl-bl?") The position to align to (see Ext.core.Element.alignTo for more details).
(optional) Offset the positioning by [x, y]
this
Perform custom animation on this object.
This method is applicable to both the the Component class and the Element class. It performs animated transitions of certain properties of this object over a specified timeline.
The sole parameter is an object which specifies start property values, end property values, and properties which
describe the timeline. Of the properties listed below, only to
is mandatory.
Properties include
from
to
duration
easing
- ease
- easeIn
- easeOut
- easeInOut
- backIn
- backOut
- elasticIn
- elasticOut
- bounceIn
- bounceOut
keyframes
listeners
beforeanimate
event or the afteranimate
event.from
, to
, and keyframe
objects:x
y
left
left
value. Units must be supplied.top
top
value. Units must be supplied.width
width
value. Units must be supplied.height
height
value. Units must be supplied.scrollLeft
scrollLeft
value.scrollTop
scrollLeft
value.opacity
opacity
value. This must be a value between 0
and 1
.Be aware than animating an Element which is being used by an Ext Component without in some way informing the Component about the changed element state will result in incorrect Component behaviour. This is because the Component will be using the old state of the element. To avoid this problem, it is now possible to directly animate certain properties of Components.
from
, to
, and keyframe
objects:x
y
left
left
value in pixels.top
top
value in pixels.width
width
value in pixels.width
width
value in pixels.dynamic
For example, to animate a Window to a new size, ensuring that its internal layout, and any shadow is correct:
myWindow = Ext.create('Ext.window.Window', {
title: 'Test Component animation',
width: 500,
height: 300,
layout: {
type: 'hbox',
align: 'stretch'
},
items: [{
title: 'Left: 33%',
margins: '5 0 5 5',
flex: 1
}, {
title: 'Left: 66%',
margins: '5 5 5 5',
flex: 2
}]
});
myWindow.show();
myWindow.header.el.on('click', function() {
myWindow.animate({
to: {
width: (myWindow.getWidth() == 500) ? 700 : 500,
height: (myWindow.getHeight() == 300) ? 400 : 300,
}
});
});
For performance reasons, by default, the internal layout is only updated when the Window reaches its final "to"
size. If dynamic updating of the Window's child
Components is required, then configure the animation with dynamic: true
and the two child items will maintain their proportions during the animation.
An object containing properties which describe the animation's start and end states, and the timeline of the animation.
this
Applies the state to the object. This should be overridden in subclasses to do more complex state operations. By default it applies the state properties onto the current object.
The state
A utility for grouping a set of modifications which may trigger value changes into a single transaction, to prevent excessive firing of change events. This is useful for instance if the field has sub-fields which are being updated as a group; you don't want the container field to check its own changed state for each subfield change.
A function containing the transaction code
Occurs before componentLayout is run. Returning false from this method will prevent the componentLayout from being executed.
The box-adjusted width that was set
The box-adjusted height that was set
Whether or not the height/width are stored on the component permanently
Component which sent the layout. Only used when isSetSize is false.
Occurs before componentLayout is run. Returning false from this method will prevent the containerLayout from being executed.
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.
The function to call
(optional) The scope of the function (defaults to current node)
(optional) The args to call the function with (default to passing the current component)
this
Starts capture on the specified Observable. All events will be passed to the supplied function with the event name + standard signature of the event before the event is fired. If the supplied function returns false, the event will not fire.
The Observable to capture events from.
The function to call when an event is fired.
(optional) The scope (this
reference) in which the function is executed. Defaults to the Observable firing the event.
Cascades down the component/container heirarchy from this component (passed in the first call), calling the specified function with
each component. The scope (this
reference) of the
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.
The function to call
(optional) The scope of the function (defaults to current component)
(optional) The args to call the function with. The current component always passed as the last argument.
this
Center this Component in its container.
Center this Component in its container.
this
Checks whether the value of the field has changed since the last time it was checked. If the value has changed, it:
Checks the isDirty state of the field and if it has changed since the last time it was checked, fires the dirtychange event.
Retrieves the first direct child of this container which matches the passed selector. The passed in selector must comply with an Ext.ComponentQuery selector.
An Ext.ComponentQuery selector
Ext.Component
Removes all listeners for this object including the managed listeners
Removes all listeners for this object including the managed listeners
Removes all managed listeners for this object.
Removes all managed listeners for this object.
Clone the current component using the original config values passed into this instance by default.
Clone the current component using the original config values passed into this instance by default.
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.
clone The cloned copy of this component
Disable the component.
Disable the component.
Passing true, will supress the 'disable' event from being fired.
Handles autoRender. Floating Components may have an ownerCt. If they are asking to be constrained, constrain them within that ownerCt, and have their z-index managed locally. Floating Components are always rendered to document.body
This method needs to be called whenever you change something on this component that requires the Component's layout to be recalculated.
this
Moves this floating Component into a constrain region.
By default, this Component is constrained to be within the container it was added to, or the element it was rendered to.
An alternative constraint may be passed.
Optional. The Element or Region into which this Component is to be constrained.
Manually force this container's layout to be recalculated. The framwork uses this internally to refresh layouts form most cases.
this
Retrieves the first descendant of this container which matches the passed selector. The passed in selector must comply with an Ext.ComponentQuery selector.
An Ext.ComponentQuery selector
Ext.Component
Enable the component
Enable the component
Passing false will supress the 'enable' event from being fired.
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.Base, {
// Add functionality to Field's initComponent to enable the change event to bubble
initComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, 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');
}
}
});
The event name to bubble, or an Array of event names.
Only relevant if the instance's isFileUpload method returns true. Returns a reference to the file input DOM element holding the user's selected file. The input will be appended into the submission form and will not be returned, so this method should also create a replacement.
This method finds the topmost active layout who's processing will eventually determine the size and position of this Component.
This method is useful when dynamically adding Components into Containers, and some processing must take place after the final sizing and positioning of the Component has been performed.
Find a container above this component at any level by a custom function. If the passed function returns true, the container will be returned.
The custom function to call with the arguments (container, this component).
The first Container for which the custom function returns true
Find a container above this component at any level by xtype or class
See also the up method.
Find a container above this component at any level by xtype or class
See also the up method.
The xtype string for a component, or the class of the component directly
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.
The name of the event to fire.
Variable number of parameters are passed to handlers.
returns false if any of the handlers return false otherwise it returns true.
Try to focus this component.
Try to focus this component.
(optional) If applicable, true to also select the text in this component
(optional) Delay the focus this number of milliseconds (true for 10 milliseconds).
this
Returns thq current animation if this object has any effects actively running or queued, else returns false.
Returns thq current animation if this object has any effects actively running or queued, else returns false.
anim if element has active effects, else false
Gets the active error message for this component, if any. This does not trigger validation on its own, it merely returns any message that the component may already hold.
The active error message on the component; if there is no error, an empty string is returned.
Gets an Array of any active error messages currently applied to the field. This does not trigger validation on its own, it merely returns any messages that the component may already hold.
The active error messages on the component; if there are no errors, an empty Array is returned.
Gets the current box measurements of the component's underlying element.
Gets the current box measurements of the component's underlying element.
(optional) If true the element's left and top are returned instead of page XY (defaults to false)
box An object in the format {x, y, width, height}
Provides the link for Observable's fireEvent method to bubble up the ownership hierarchy.
Provides the link for Observable's fireEvent method to bubble up the ownership hierarchy.
the Container which owns this Component.
Returns an Array of all checkboxes in the container which are currently checked
Returns an Array of all checkboxes in the container which are currently checked
Array of Ext.form.field.Checkbox components
Return the immediate child Component in which the passed element is located.
Return the immediate child Component in which the passed element is located.
The element to test.
The child item which contains the passed element.
Takes an Array of invalid Ext.form.field.Field objects and builds a combined list of error messages from them. Defaults to prepending each message by the field name and a colon. This can be overridden to provide custom combined error message handling, for instance changing the format of each message or sorting the array (it is sorted in order of appearance by default).
An Array of the sub-fields which are currently invalid.
The combined list of error messages
Examines this container's items
property
and gets a direct child component of this container.
Examines this container's items
property
and gets a direct child component of this container.
This parameter may be any of the following:
For additional information see Ext.util.MixedCollection.get.
Ext.Component The component (if found).
Retrieves the top level element representing this component.
Retrieves the top level element representing this component.
Runs CheckboxGroup's validations and returns an array of any errors. The only error by default is if allowBlank is set to true and no items are checked.
Array of all validation errors
Returns the label for the field. Defaults to simply returning the fieldLabel config. Can be overridden to provide
Returns the label for the field. Defaults to simply returning the fieldLabel config. Can be overridden to provide
The configured field label, or empty string if not defined
Gets the current height of the component's underlying element.
Gets the current height of the component's underlying element.
Retrieves the id of this component. Will autogenerate an id if one has not already been set.
Retrieves the id of this component. Will autogenerate an id if one has not already been set.
Get the input id, if any, for this component. This is used as the "for" attribute on the label element. Implementing subclasses may also use this as e.g. the id for their own input element.
The input id
This function takes the position argument passed to onRender and returns a DOM element that you can use in the insertBefore.
Index, element id or element you want to put this component before.
DOM element that you can use in the insertBefore
Returns the layout instance currently associated with this Container. If a layout has not been instantiated yet, that is done first
The layout
Gets the Ext.ComponentLoader for this Component.
Gets the Ext.ComponentLoader for this Component.
The loader instance, null if it doesn't exist.
Returns the value(s) that should be saved to the Ext.data.Model instance for this field, when Ext.form.Basic.updateRecord is called. Typically this will be an object with a single name-value pair, the name being this field's name and the value being its current data value. More advanced field implementations may return more than one name-value pair. The returned values will be saved to the corresponding field names in the Model.
Note that the values returned from this method are not guaranteed to have been successfully validated.
A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted.
Returns the name attribute of the field. This is used as the parameter name when including the field value in a form submit().
name The field name
Retrieves a plugin by its pluginId which has been bound to this component.
Retrieves a plugin by its pluginId which has been bound to this component.
pluginInstance
Gets the current XY position of the component's underlying element.
Gets the current XY position of the component's underlying element.
(optional) If true the element's left and top are returned instead of page XY (defaults to false)
The XY position of the element (e.g., [100, 200])
Gets the current size of the component's underlying element.
Gets the current size of the component's underlying element.
An object containing the element's size {width: (element width), height: (element height)}
Gets the current state of the object. By default this function returns null, it should be overridden in subclasses to implement methods for getting the state.
The current state
Gets the state id for this object.
Gets the state id for this object.
The state id, null if not found.
Returns the parameter(s) that would be included in a standard form submit for this field. Typically this will be an object with a single name-value pair, the name being this field's name and the value being its current stringified value. More advanced field implementations may return more than one name-value pair.
Note that the values returned from this method are not guaranteed to have been successfully validated.
A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted.
Returns an object containing the values of all checked checkboxes within the group. Each key-value pair in the object corresponds to a checkbox name. If there is only one checked checkbox with a particular name, the value of that pair will be the String inputValue of that checkbox. If there are multiple checked checkboxes with that name, the value of that pair will be an Array of the selected inputValues.
The object format returned from this method can also be passed directly to the setValue method.
NOTE: In Ext 3, this method returned an array of Checkbox components; this was changed to make it more consistent with other field components and with the setValue argument signature. If you need the old behavior in Ext 4+, use the getChecked method instead.
Gets the current width of the component's underlying element.
Gets the current width of the component's underlying element.
Gets the xtype for this component as registered with Ext.ComponentManager. For a list of all available xtypes, see the Ext.Component header. Example usage:
var t = new Ext.form.field.Text();
alert(t.getXType()); // alerts 'textfield'
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.field.Text();
alert(t.getXTypes()); // alerts 'component/field/textfield'
The xtype hierarchy string
Tells whether the field currently has an active error message. This does not trigger validation on its own, it merely looks for any message that the component may already hold.
Checks to see if this object has any listeners for a specified event
Checks to see if this object has any listeners for a specified event
The name of the event to check for
True if the event is being listened for, else false
Checks if there is currently a specified uiCls
Checks if there is currently a specified uiCls
The cls to check
Hides this Component, setting it to invisible using the configured hideMode.
Hides this Component, setting it to invisible using the configured hideMode.
(optional) A callback function to call after the Component is hidden.
(optional) The scope (this
reference) in which the callback is executed. Defaults to this Component.
this
Initializes this Field mixin on the current instance. Components using this mixin should call this method during their own initialization process.
Performs initialization of this mixin. Component classes using this mixin should call this method during their own initialization.
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.
The index at which the Component will be inserted into the Container's items collection
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.
component The Component (or config object) that was inserted with the Container's default config values applied.
Tests whether this Component matches the selector string.
Tests whether this Component matches the selector string.
The selector string to test against.
True if this Component matches the selector.
Determines whether this component is the descendant of a particular container.
Determines whether this component is the descendant of a particular container.
isDescendant
Returns true if the value of this Field has been changed from its originalValue. Will always return false if the field is disabled.
Note that if the owning form was configured with trackResetOnLoad then the originalValue is updated when the values are loaded by Ext.form.Basic.setValues.
True if this field has been changed from its original value (and is not disabled), false otherwise.
Method to determine whether this Component is currently disabled.
Method to determine whether this Component is currently disabled.
the disabled state of this Component.
Method to determine whether this Component is draggable.
Method to determine whether this Component is draggable.
the draggable state of this component.
Method to determine whether this Component is droppable.
Method to determine whether this Component is droppable.
the droppable state of this component.
Returns whether two field values are logically equal. Field implementations may override this to provide custom comparison logic appropriate for the particular field's data type.
The first value to compare
The second value to compare
True if the values are equal, false if inequal.
Returns whether this Field is a file upload field; if it returns true, forms will use special techniques for submitting the form via AJAX. See Ext.form.Basic.hasUpload for details. If this returns true, the extractFileInput method must also be implemented to return the corresponding file input element.
Method to determine whether this Component is floating.
Method to determine whether this Component is floating.
the floating state of this component.
Method to determine whether this Component is currently set to hidden.
Method to determine whether this Component is currently set to hidden.
the hidden state of this Component.
Returns whether or not the field value is currently valid by validating the field's current value. The validitychange event will not be fired; use validate instead if you want the event to fire. Note: disabled fields are always treated as valid.
Implementations are encouraged to ensure that this method does not have side-effects such as triggering error message display.
True if the value is valid, else false
Returns true if this component is visible.
Returns true if this component is visible.
.
Optional. Pass true
to interrogate the visibility status of all
parent Containers to determine whether this Component is truly visible to the user.
Generally, to determine whether a Component is hidden, the no argument form is needed. For example when creating dynamically laid out UIs in a hidden Container before showing them.
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.field.Text();
var isText = t.isXType('textfield'); // true
var isBoxSubclass = t.isXType('field'); // true, descended from Ext.form.field.Base
var isBoxInstance = t.isXType('field', true); // false, not a direct Ext.form.field.Base instance
The xtype to check for this Component
(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.
True if this component descends from the specified xtype, false otherwise.
Moves a Component within the Container
Moves a Component within the Container
The index the Component you wish to move is currently at.
The new index for the Component.
component The Component (or config object) that was moved.
Returns the next node in the Component tree in tree traversal order.
Note that this is not limited to siblings, and if invoked upon a node with no matching siblings, will walk the tree to attempt to find a match. Contrast with pnextSibling.
Optional A ComponentQuery selector to filter the following nodes.
The next node (or the next node which matches the selector). Returns null if there is no matching node.
Returns the next sibling of this Component.
Optionally selects the next sibling which matches the passed ComponentQuery selector.
May also be refered to as next()
Note that this is limited to siblings, and if no siblings of the item match, null
is returned. Contrast with nextNode
Optional A ComponentQuery selector to filter the following items.
The next sibling (or the next sibling which matches the selector). Returns null if there is no matching sibling.
Sets observability on the passed class constructor.
This makes any event fired on any instance of the passed class also fire a single event through the class allowing for central handling of events on many instances at once.
Usage:
Ext.util.Observable.observe(Ext.data.Connection);
Ext.data.Connection.on('beforerequest', function(con, options) {
console.log('Ajax request made to ' + options.url);
});
The class constructor to make observable.
An object containing a series of listeners to add. See addListener.
Appends an event handler to this object (shorthand for addListener.)
Appends an event handler to this object (shorthand for addListener.)
The type of event to listen for
The method the event invokes
(optional) The scope (this
reference) in which the handler function is executed.
If omitted, defaults to the object which fired the event.
(optional) An object containing handler configuration.
Returns the previous node in the Component tree in tree traversal order.
Note that this is not limited to siblings, and if invoked upon a node with no matching siblings, will walk the tree in reverse order to attempt to find a match. Contrast with previousSibling.
Optional. A ComponentQuery selector to filter the preceding nodes.
The previous node (or the previous node which matches the selector). Returns null if there is no matching node.
Returns the previous sibling of this Component.
Optionally selects the previous sibling which matches the passed ComponentQuery selector.
May also be refered to as prev()
Note that this is limited to siblings, and if no siblings of the item match, null
is returned. Contrast with previousNode
Optional. A ComponentQuery selector to filter the preceding items.
The previous sibling (or the previous sibling which matches the selector). Returns null if there is no matching sibling.
Retrieves all descendant components which match the passed selector. Executes an Ext.ComponentQuery.query using this container as its root.
Selector complying to an Ext.ComponentQuery selector
Ext.Component's which matched the selector
Relays selected events from the specified Observable as if the events were fired by this
.
Relays selected events from the specified Observable as if the events were fired by this
.
The Observable whose events this object is to relay.
Array of event names to relay.
Removes all added captures from the Observable.
Removes all added captures from the Observable.
The Observable to release
Removes a component from this container. Fires the beforeremove event before removing, then fires the remove event after the component has been removed.
The component reference or id to remove.
(optional) True to automatically invoke the removed Component's Ext.Component.destroy function. Defaults to the value of this Container's autoDestroy config.
component The Component that was removed.
Removes all components from this container.
Removes all components from this container.
(optional) True to automatically invoke the removed Component's Ext.Component.destroy function. Defaults to the value of this Container's autoDestroy config.
Array of the destroyed components
Removes a CSS class from the top level element representing this component.
Removes a CSS class from the top level element representing this component.
Returns the Component to allow method chaining.
Removes a cls to the uiCls array, which will also call removeUIClsToElement and removes it from all elements of this component.
A string or an array of strings to remove to the uiCls
Removes an event handler.
Removes an event handler.
The type of event the handler was associated with.
The handler to remove. This must be a reference to the function passed into the addListener call.
(optional) The scope originally specified for the handler.
Removes listeners that were added by the mon method.
Removes listeners that were added by the mon method.
The item from which to remove a listener/listeners.
The event name, or an object containing event name properties.
Optional. If the ename
parameter was an event name, this
is the handler function.
Optional. If the ename
parameter was an event name, this
is the scope (this
reference) in which the handler function is executed.
Resets the checked state of all checkboxes in the group to their originally loaded values and clears any validation messages. See Ext.form.Basic.trackResetOnLoad
Resets the field's originalValue property so it matches the current value. This is called by Ext.form.Basic.setValues if the form's trackResetOnLoad property is set to true.
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.
Ensures that all effects queued after sequenceFx is called on this object are run in sequence. This is the opposite of syncFx.
The Element
This method is called internally by Ext.ZIndexManager to signal that a floating Component has either been moved to the top of its zIndex stack, or pushed from the top of its zIndex stack.
If a Window is superceded by another Window, deactivating it hides its shadow.
This method also fires the activate or deactivate event depending on which action occurred.
True to activate the Component, false to deactivate it (defaults to false)
The newly active Component which is taking over topmost zIndex position.
Sets the active error message to the given string. This replaces the entire error message contents with the given string. Also see setActiveErrors which accepts an Array of messages and formats them according to the activeErrorsTpl.
The error message
Set the active error message to an Array of error messages. The messages are formatted into a single message string using the activeErrorsTpl. Also see setActiveError which allows setting the entire error contents with a single string.
The error messages
Sets the overflow on the content element of the component.
Sets the overflow on the content element of the component.
True to allow the Component to auto scroll.
this
Enable or disable the component.
Enable or disable the component.
Sets the dock position of this component in its parent panel. Note that this only has effect if this item is part of the dockedItems collection of a parent that has a DockLayout (note that any Panel has a DockLayout by default)
this
Applies a set of default configuration values to this Labelable instance. For each of the properties in the given object, check if this component hasOwnProperty that config; if not then it's inheriting a default value from its prototype and we should apply the default value.
The defaults to apply to the object.
Sets the height of the component. This method fires the resize event.
Sets the height of the component. This method fires the resize event.
The new height to set. This may be one of:
this
This method allows you to show or hide a LoadMask on top of this component.
This method allows you to show or hide a LoadMask on top of this component.
True to show the default LoadMask, a config object that will be passed to the LoadMask constructor, or a message String to show. False to hide the current LoadMask.
True to mask the targetEl of this Component instead of the this.el. For example, setting this to true on a Panel will cause only the body to be masked. (defaults to false)
The LoadMask instance that has just been shown.
Sets the page XY position of the component. To set the left and top instead, use setPosition. This method fires the move event.
The new x position
The new y position
If passed, the Component is animated into its new position. If this parameter is a number, it is used as the animation duration in milliseconds.
this
Sets the left and top of the component. To set the page XY position instead, use setPagePosition. This method fires the move event.
The new left
The new top
If true, the Component is animated into its new position. You may also pass an animation configuration.
this
Sets the width and height of this Component. 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}
.
The new width to set. This may be one of:
{width: widthValue, height: heightValue}
.undefined
to leave the width unchanged.The new height to set (not required if a size object is passed as the first arg). This may be one of:
undefined
to leave the height unchanged.this
Sets the UI for the component. This will remove any existing UIs on the component. It will also loop through any uiCls set on the component and rename them so they include the new UI
The new UI for the component
Sets the value(s) of all checkboxes in the group. The expected format is an Object of name-value pairs corresponding to the names of the checkboxes in the group. Each pair can have either a single or multiple values:
setValue
method of the
checkbox with that name. See the rules in Ext.form.field.Checkbox.setValue for accepted values.If a checkbox's name is not in the mapping at all, it will be unchecked.
An example:
var myCheckboxGroup = new Ext.form.CheckboxGroup({
columns: 3,
items: [{
name: 'cb1',
boxLabel: 'Single 1'
}, {
name: 'cb2',
boxLabel: 'Single 2'
}, {
name: 'cb3',
boxLabel: 'Single 3'
}, {
name: 'cbGroup',
boxLabel: 'Grouped 1'
inputValue: 'value1'
}, {
name: 'cbGroup',
boxLabel: 'Grouped 2'
inputValue: 'value2'
}, {
name: 'cbGroup',
boxLabel: 'Grouped 3'
inputValue: 'value3'
}]
});
myCheckboxGroup.setValue({
cb1: true,
cb3: false,
cbGroup: ['value1', 'value3']
});
The above code will cause the checkbox named 'cb1' to be checked, as well as the first and third checkboxes named 'cbGroup'. The other three checkboxes will be unchecked.
The mapping of checkbox names to values.
this
Convenience function to hide or show this component by boolean.
Convenience function to hide or show this component by boolean.
True to show, false to hide
this
Sets the width of the component. This method fires the resize event.
Sets the width of the component. This method fires the resize event.
The new width to setThis may be one of:
this
Shows this Component, rendering it first if autoRender or {"floating are true
.
After being shown, a floating Component (such as a Ext.window.Window), is activated it and brought to the front of its z-index stack.
(optional) A callback function to call after the Component is displayed. Only necessary if animation was specified.
(optional) The scope (this
reference) in which the callback is executed. Defaults to this Component.
this
@deprecated 4.0 Replaced by stopAnimation Stops any running effects and clears this object's internal effects queue if it contains any additional effects that haven't started yet.
The Element
Suspend the firing of all events. (see resumeEvents)
Suspend the firing of all events. (see resumeEvents)
Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events;
Ensures that all effects queued after syncFx is called on this object are run concurrently. This is the opposite of sequenceFx.
The Element
Sends this Component to the back of (lower z-index than) any other visible windows
Sends this Component to the back of (lower z-index than) any other visible windows
this
Brings this floating Component to the front of any other visible, floating Components managed by the same ZIndexManager
If this Component is modal, inserts the modal mask just below this Component in the z-index stack.
(optional) Specify true
to prevent the Component from being focused.
this
Removes an event handler (shorthand for removeListener.)
Removes an event handler (shorthand for removeListener.)
The type of event the handler was associated with.
The handler to remove. This must be a reference to the function passed into the addListener call.
(optional) The scope originally specified for the handler.
Walks up the ownerCt
axis looking for an ancestor Container which matches
the passed simple selector.
Example:
var owningTabPanel = grid.up('tabpanel');
Optional. The simple selector to test.
The matching ancestor Container (or undefined
if no match was found).
Update the content area of a component.
Update the content area of a component.
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.core.Element update
(optional) Only legitimate when using the html configuration. Defaults to false
(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.
Sets the current box measurements of the component's underlying element.
An object in the format {x, y, width, height}
this
Returns whether or not the field value is currently valid by validating the field's current value, and fires the validitychange event if the field's validity has changed since the last validation. Note: disabled fields are always treated as valid.
Custom implementations of this method are allowed to have side-effects such as triggering error message display. To validate without side-effects, use isValid.
True if the value is valid, else false
Fires after a Component has been visually activated.
Fires after a Component has been visually activated.
@bubbles Fires after any Ext.Component is added or inserted into the container.
@bubbles Fires after any Ext.Component is added or inserted into the container.
The component that was added
The index at which the component was added to the container's items collection
Fires after a Component had been added to a Container.
Fires after a Component had been added to a Container.
Parent Container
position of Component
Fires when the components in this container are arranged by the associated layout manager.
Fires when the components in this container are arranged by the associated layout manager.
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.
Fires before a Component has been visually activated. Returning false from an event listener can prevent the activate from occurring.
Fires before any Ext.Component is added or inserted into the container. A handler can return false to cancel the add.
Fires before any Ext.Component is added or inserted into the container. A handler can return false to cancel the add.
The component being added
The index at which the component will be added to the container's items collection
Fires before this container switches the active card. This event is only available if this container uses a CardLayout. Note that TabPanel and Carousel both get a CardLayout by default, so both will have this event. A handler can return false to cancel the card switch.
The card that will be switched to
The card that will be switched from
The index of the card that will be switched to
True if this cardswitch will be animated
Fires before a Component has been visually deactivated. Returning false from an event listener can prevent the deactivate from occurring.
Fires before any Ext.Component is removed from the container. A handler can return false to cancel the remove.
Fires before any Ext.Component is removed from the container. A handler can return false to cancel the remove.
The component being removed
Fires before the state of the object is restored. Return false from an event handler to stop the restore.
Fires before the state of the object is restored. Return false from an event handler to stop the restore.
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 object. The method maybe overriden to provide custom state restoration.
Fires before the state of the object is saved to the configured state provider. Return false to stop the save.
Fires before the state of the object is saved to the configured state provider. Return false to stop the save.
The hash of state values. This is determined by calling getState() on the object. This method must be provided by the developer to return whetever representation of state is required, by default, Ext.state.Stateful has a null implementation.
Fires after this container switches the active card. If the card is switched using an animation, this event will fire after the animation has finished. This event is only available if this container uses a CardLayout. Note that TabPanel and Carousel both get a CardLayout by default, so both will have this event.
The card that has been switched to
The card that has been switched from
The index of the card that has been switched to
True if this cardswitch was animated
Fires when a user-initiated change is detected in the value of the field.
Fires when a user-initiated change is detected in the value of the field.
The new value
The original value
Fires after a Component has been visually deactivated.
Fires after a Component has been visually deactivated.
Fires after the component is disabled.
Fires after the component is disabled.
Fires after the component is enabled.
Fires after the component is enabled.
Fires when the active error message is changed via setActiveError.
Fires when the active error message is changed via setActiveError.
The active error message
Fires when the active error message is changed for any one of the Ext.form.Labelable instances within this container.
Fires when the active error message is changed for any one of the Ext.form.Labelable instances within this container.
Labelable instance whose active error was changed
The active error message
Fires after the component is moved.
Fires after the component is moved.
The new x position
The new y position
@bubbles Fires after any Ext.Component is removed from the container.
@bubbles Fires after any Ext.Component is removed from the container.
The component that was removed
Fires when a component is removed from an Ext.container.Container
Fires when a component is removed from an Ext.container.Container
Container which holds the component
Fires after the component is resized.
Fires after the component is resized.
The box-adjusted width that was set
The box-adjusted height that was set
Fires after the state of the object is restored.
Fires after the state of the object is restored.
The hash of state values returned from the StateProvider. This is passed to applyState. By default, that simply copies property values into this object. The method maybe overriden to provide custom state restoration.
Fires after the state of the object is saved to the configured state provider.
Fires after the state of the object is saved to the configured state provider.
The hash of state values. This is determined by calling getState() on the object. This method must be provided by the developer to return whetever representation of state is required, by default, Ext.state.Stateful has a null implementation.