Alternate names
Ext.form.FormPanelHierarchy
Inherited mixins
Requires
Files
The Form panel presents a set of form fields and provides convenient ways to load and save data. Usually a form panel just contains the set of fields you want to display, ordered inside the items configuration like this:
var form = Ext.create('Ext.form.Panel', {
fullscreen: true,
items: [
{
xtype: 'textfield',
name: 'name',
label: 'Name'
},
{
xtype: 'emailfield',
name: 'email',
label: 'Email'
},
{
xtype: 'passwordfield',
name: 'password',
label: 'Password'
}
]
});
Here we just created a simple form panel which could be used as a registration form to sign up to your service. We added a plain text field for the user's Name, an email field and finally a password field. In each case we provided a name config on the field so that we can identify it later on when we load and save data on the form.
Using the form we created above, we can load data into it in a few different ways, the easiest is to use setValues:
form.setValues({
name: 'Ed',
email: 'ed@sencha.com',
password: 'secret'
});
It's also easy to load Model instances into a form - let's say we have a User model and want to load a particular instance into our form:
Ext.define('MyApp.model.User', {
extend: 'Ext.data.Model',
config: {
fields: ['name', 'email', 'password']
}
});
var ed = Ext.create('MyApp.model.User', {
name: 'Ed',
email: 'ed@sencha.com',
password: 'secret'
});
form.setRecord(ed);
Getting data out of the form panel is simple and is usually achieve via the getValues method:
var values = form.getValues();
//values now looks like this:
{
name: 'Ed',
email: 'ed@sencha.com',
password: 'secret'
}
It's also possible to listen to the change events on individual fields to get more timely notification of changes that the user is making. Here we expand on the example above with the User model, updating the model as soon as any of the fields are changed:
var form = Ext.create('Ext.form.Panel', {
listeners: {
'> field': {
change: function(field, newValue, oldValue) {
ed.set(field.getName(), newValue);
}
}
},
items: [
{
xtype: 'textfield',
name: 'name',
label: 'Name'
},
{
xtype: 'emailfield',
name: 'email',
label: 'Email'
},
{
xtype: 'passwordfield',
name: 'password',
label: 'Password'
}
]
});
The above used a new capability of Sencha Touch 2.0, which enables you to specify listeners on child components of any container. In this case, we attached a listener to the change event of each form field that is a direct child of the form panel. Our listener gets the name of the field that fired the change event, and updates our Model instance with the new value. For example, changing the email field in the form will update the Model's email field.
There are a few ways to submit form data. In our example above we have a Model instance that we have updated, giving us the option to use the Model's save method to persist the changes back to our server, without using a traditional form submission. Alternatively, we can send a normal browser form submit using the method method:
form.submit({
url: 'url/to/submit/to',
method: 'POST',
success: function() {
alert('form submitted successfully!');
}
});
In this case we provided the url
to submit the form to inside the submit call - alternatively you can just set the
url configuration when you create the form. We can specify other parameters (see method for a
full list), including callback functions for success and failure, which are called depending on whether or not the
form submission was successful. These functions are usually used to take some action in your app after your data
has been saved to the server side.
The item from the items collection that will be active first. This is usually only meaningful in a card layout, where only one item can be active at a time. If passes a string, it will be assumed to be a Ext.ComponentQuery selector.
Defaults to: 0
If specified, load and submit actions will be loaded and submitted via Ext.Direct. Methods which have been imported by Ext.direct.Manager can be specified here to load and submit forms. API methods may also be specified as strings and will be parsed into the actual functions when the first submit or load has occurred. Such as the following:
api: {
load: App.ss.MyProfile.load,
submit: App.ss.MyProfile.submit
}
api: {
load: 'App.ss.MyProfile.load',
submit: 'App.ss.MyProfile.submit'
}
Load actions can use paramOrder or paramsAsHash to customize how the load method
is invoked. Submit actions will always use a standard form submit. The formHandler
configuration
(see Ext.direct.RemotingProvider#action) must be set on the associated server-side method which has
been imported by Ext.direct.Manager.
If true
, child items will be destroyed as soon as they are removed
from this container.
Defaults to: true
The base CSS class to apply to this component's element. This will also be prepended to other elements within this component. To add specific styling for sub-classes, use the cls config.
Defaults to: Ext.baseCSSPrefix + 'form'
Overrides: Ext.Panel.baseCls
Optional hash of params to be sent (when standardSubmit
configuration is false
) on every submit.
Optional hash of params to be sent (when standardSubmit
configuration is false
) on every submit.
A shortcut for setting a border style on the body element. The value can either be a number to be applied to all sides, or a normal CSS string describing borders.
This cfg has been deprecated since 2.0.0
A shortcut for setting a margin style on the body element. The value can either be a number to be applied to all sides, or a normal CSS string describing margins.
This cfg has been deprecated since 2.0.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.
This cfg has been deprecated since 2.0.0
The border width to use on this Component. Can be specified as a number (in which case all edges get the same border width) or a CSS string like '5 10 10 10'.
Please note that this will not add
a border-color
or border-style
CSS property to the component; you must do that manually using either CSS or
the style configuration.
Ext.Viewport.add({
centered: true,
width: 100,
height: 100,
border: 3,
style: 'border-color: blue; border-style: solid;'
// ...
});
Ext.Viewport.add({
centered: true,
width: 100,
height: 100,
border: 3,
cls: 'my-component'
// ...
});
And your CSS file:
.my-component {
border-color: red;
border-style: solid;
}
The absolute bottom position of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
Explicitly setting this value will make this Component become 'floating', which means its layout will no
longer be affected by the Container that it resides in.
The event name to bubble, or an Array of event names.
The event name to bubble, or an Array of event names.
Animation to be used during transitions of cards.
Animation to be used during transitions of cards.
This cfg has been removed since 2.0.0
Please use Ext.layout.Card.animation instead
Whether or not this Component is absolutely centered inside its Container
Whether or not this Component is absolutely centered inside its Container
CSS class to add to this Component. Deprecated, please use cls instead
This cfg has been deprecated since 2.0.0
The configured element will automatically be added as the content of this component. When you pass a string, we expect it to be an element id. If the content element is hidden, we will automatically show it.
Enables you to easily control Components inside this Container by listening to their events and taking some action. For example, if we had a container with a nested Disable button, and we wanted to hide the Container when the Disable button is tapped, we could do this:
Ext.create('Ext.Container', {
control: {
'button[text=Disable]': {
tap: 'hideMe'
}
},
hideMe: function () {
this.hide();
}
});
We used a Ext.ComponentQuery selector to listen to the tap event on any
button anywhere inside the Container that has the text 'Disable'.
Whenever a Component matching that selector fires the tap
event our hideMe
function is called. hideMe
is
called with scope: this
(e.g. this
is the Container instance).
Defaults to: {}
The 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.
A set of default configurations to apply to all child Components in this Container. It's often useful to specify defaults when creating more than one items with similar configurations. For example here we can specify that each child is a panel and avoid repeating the xtype declaration for each one:
Ext.create('Ext.Container', {
defaults: {
xtype: 'panel'
},
items: [
{
html: 'Panel 1'
},
{
html: 'Panel 2'
}
]
});
The CSS class to add to the component when it is disabled
Defaults to: "x-item-disabled"
The dock position of this component in its container. Can be left
, top
, right
or bottom
.
Notes
You must use a HTML5 doctype for docked bottom
to work. To do this, simply add the following code to the HTML file:
<!doctype html>
So your index.html file should look a little like this:
<!doctype html>
<html>
<head>
<title>MY application title</title>
...
This cfg has been deprecated since 2.0.0
This has been deprecated. Please use docked instead.
The dock position of this component in its container. Can be left
, top
, right
or bottom
.
Notes
You must use a HTML5 doctype for docked bottom
to work. To do this, simply add the following code to the HTML file:
<!doctype html>
So your index.html file should look a little like this:
<!doctype html>
<html>
<head>
<title>MY application title</title>
...
Configuration options to make this Component draggable
Configuration options to make this Component draggable
The submission form is generated but never added to the dom. It is a submittable version of your form panel, allowing for fields that are not simple textfields to be properly submitted to servers. It will also send values that are easier to parse with server side code.
If this is false we will attempt to subject the raw form inside the form panel.
Defaults to: true
(String} enctype The enctype attribute for the form, specifies how the form should be encoded when submitting
(String} enctype The enctype attribute for the form, specifies how the form should be encoded when submitting
Animation effect to apply when the Component is being shown. Typically you want to use an inbound animation type such as 'fadeIn' or 'slideIn'.
This cfg has been deprecated since 2.0.0
Please use showAnimation instead.
Animation effect to apply when the Component is being hidden.
This cfg has been deprecated since 2.0.0
Please use hideAnimation instead. Typically you want to use an outbound animation type such as 'fadeOut' or 'slideOut'.
The flex of this item if this item item is inside a Ext.layout.HBox or Ext.layout.VBox layout.
You can also update the flex of a component dynamically using the Ext.layout.FlexBox.setItemFlex method.
Deprecated, please use left, top, right or bottom instead.
Ext.Viewport.add({
top: 100,
left: 100,
width: 500,
height: 200,
html: 'Floating component!'
});
This cfg has been deprecated since 2.0.0
The CSS class to add to this component when it is floatable.
Defaults to: "x-floating"
Force the component to take up 100% width and height available, by adding it to Ext.Viewport.
Force the component to take up 100% width and height available, by adding it to Ext.Viewport.
The height of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
By default, if this is not explicitly set, this Component's element will simply have its own natural size.
If set to auto
, it will set the width to null
meaning it will have its own natural size.
Animation effect to apply when the Component is being hidden. Typically you want to use an outbound animation type such as 'fadeOut' or 'slideOut'. For more animations, check the Ext.fx.Animation.type config.
When using a modal Component, setting this to true
will hide the modal
mask and the Container when the mask is tapped on.
Overrides: Ext.Component.hideOnMaskTap
Optional HTML content to render inside this Component, or a reference to an existing element on the page.
Optional HTML content to render inside this Component, or a reference to an existing element on the page.
The unique id of this component instance.
It should not be necessary to use this configuration except for singleton objects in your application. Components created with an id may be accessed globally using Ext.getCmp.
Instead of using assigned ids, use the itemId config, and ComponentQuery which provides selector-based searching for Sencha Components analogous to DOM querying. The Ext.Container class contains shortcut methods to query its descendant Components by selector.
Note that this id will also be used as the element id for the containing HTML element that is rendered to the page for this component. This allows you to write id-based CSS rules to style the specific instance of this component uniquely, and also to select sub-elements using this component's id as the parent.
Note: to avoid complications imposed by a unique id also see itemId
.
Defaults to an auto-assigned id.
An itemId can be used as an alternative way to get a reference to a component when no object reference is
available. Instead of using an id
with Ext.getCmp, use itemId
with
Ext.Container.getComponent which will retrieve itemId
's or id's. Since itemId
's are an
index to the container's internal MixedCollection, the itemId
is scoped locally to the container - avoiding
potential conflicts with Ext.ComponentManager which requires a unique id
.
Also see id, Ext.Container.query, Ext.Container.down and Ext.Container.child.
The child items to add to this Container. This is usually an array of Component configurations or instances, for example:
Ext.create('Ext.Container', {
items: [
{
xtype: 'panel',
html: 'This is an item'
}
]
});
Configuration for this Container's layout. Example:
Ext.create('Ext.Container', {
layout: {
type: 'hbox',
align: 'middle'
},
items: [
{
xtype: 'panel',
flex: 1,
style: 'background-color: red;'
},
{
xtype: 'panel',
flex: 2,
style: 'background-color: green'
}
]
});
See the Layouts Guide for more information.
true
to automatically re-layout this component on orientation change.
true
to automatically re-layout this component on orientation change.
This cfg has been removed since 2.0.0
The absolute left position of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
Explicitly setting this value will make this Component become 'floating', which means its layout will no
longer be affected by the Container that it resides in.
A config object containing one or more event handlers to be added to this object during initialization. This
should be a valid listeners config
object as specified in the addListener example for attaching
multiple handlers at once.
See the Event guide for more
Note: It is bad practice to specify a listener's config
when you are defining a class using Ext.define()
.
Instead, only specify listeners when you are instantiating your class with Ext.create()
.
The margin to use on this Component. Can be specified as a number (in which case all edges get the same margin) or a CSS string like '5 10 10 10'
A configuration to allow you to mask this container.
You can optionally pass an object block with and xtype of loadmask
, and an optional message
value to
display a loading mask. Please refer to the Ext.LoadMask component to see other configurations.
masked: {
xtype: 'loadmask',
message: 'My message'
}
Alternatively, you can just call the setter at any time with true
/false
to show/hide the mask:
setMasked(true); //show the mask
setMasked(false); //hides the mask
There are also two convenient methods, mask and unmask, to allow you to mask and unmask this container at any time.
Remember, the Ext.Viewport is always a container, so if you want to mask your whole application at anytime, can call:
Ext.Viewport.setMasked({
xtype: 'loadmask',
message: 'Hello'
});
The maximum height of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
If set to auto
, it will set the width to null
meaning it will have its own natural size.
Note that this config will not apply if the Component is 'floating' (absolutely positioned or centered)
The maximum width of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
If set to auto
, it will set the width to null
meaning it will have its own natural size.
Note that this config will not apply if the Component is 'floating' (absolutely positioned or centered)
The method which this form will be submitted. post
or get
.
Defaults to: 'post'
The minimum height of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
If set to auto
, it will set the width to null
meaning it will have its own natural size.
The minimum width of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
If set to auto
, it will set the width to null
meaning it will have its own natural size.
true
to make this Container modal. This will create a mask underneath the Container
that covers its parent and does not allow the user to interact with any other Components until this
Container is dismissed.
Overrides: Ext.Component.modal, Ext.Container.modal
true
to monitor Orientation change.
true
to monitor Orientation change.
This cfg has been removed since 2.0.0
If this is enabled the form will automatically detect the need to use 'multipart/form-data' during submission.
Defaults to: true
The padding to use on this Component. Can be specified as a number (in which case all edges get the same padding) or a CSS string like '5 10 10 10'
A list of params to be executed server side. Only used for the api load
configuration.
Specify the params in the order in which they must be executed on the server-side as either (1) an Array of String values, or (2) a String of params delimited by either whitespace, comma, or pipe. For example, any of the following would be acceptable:
paramOrder: ['param1','param2','param3']
paramOrder: 'param1 param2 param3'
paramOrder: 'param1,param2,param3'
paramOrder: 'param1|param2|param'
Only used for the api load
configuration. If true, parameters will be sent as a
single hash collection of named arguments. Providing a paramOrder nullifies this
configuration.
An object or array of objects that will provide custom functionality for this component. The only requirement for a valid plugin is that it contain an init method that accepts a reference of type Ext.Component.
When a component is created, if any plugins are available, the component will call the init method on each plugin, passing a reference to itself. Each plugin can then call methods or respond to events on the component as needed to provide its functionality.
For examples of plugins, see Ext.plugin.PullRefresh and Ext.plugin.ListPaging
A plugin by alias:
Ext.create('Ext.dataview.List', {
config: {
plugins: 'listpaging',
itemTpl: '<div class="item">{title}</div>',
store: 'Items'
}
});
Multiple plugins by alias:
Ext.create('Ext.dataview.List', {
config: {
plugins: ['listpaging', 'pullrefresh'],
itemTpl: '<div class="item">{title}</div>',
store: 'Items'
}
});
Single plugin by class name with config options:
Ext.create('Ext.dataview.List', {
config: {
plugins: {
xclass: 'Ext.plugin.ListPaging', // Reference plugin by class
autoPaging: true
},
itemTpl: '<div class="item">{title}</div>',
store: 'Items'
}
});
Multiple plugins by class name with config options:
Ext.create('Ext.dataview.List', {
config: {
plugins: [
{
xclass: 'Ext.plugin.PullRefresh',
pullRefreshText: 'Pull to refresh...'
},
{
xclass: 'Ext.plugin.ListPaging',
autoPaging: true
}
],
itemTpl: '<div class="item">{title}</div>',
store: 'Items'
}
});
The model instance of this form. Can by dynamically set at any time.
Overrides: Ext.Component.record
Optional element to render this Component to. Usually this is not needed because a Component is normally full screen or automatically rendered inside another Container
The absolute right position of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
Explicitly setting this value will make this Component become 'floating', which means its layout will no
longer be affected by the Container that it resides in.
Configuration options to make this Container scrollable. Acceptable values are:
'horizontal'
, 'vertical'
, 'both'
to enabling scrolling for that direction.true
/false
to explicitly enable/disable scrolling.Alternatively, you can give it an object which is then passed to the scroller instance:
scrollable: {
direction: 'vertical',
directionLock: true
}
Please look at the Ext.scroll.Scroller documentation for more example on how to use this.
This cfg has been deprecated since 2.0.0
Please use the scrollable configuration.
The scroll view.
Overrides: Ext.Component.scroll
Possible values are true, false, and null. The true value indicates that users can scroll the panel. The false value disables scrolling, but developers can enable it in the app. The null value indicates that the object cannot be scrolled and that scrolling cannot be enabled for this object.
Example: title: 'Sliders', xtype: 'formpanel', iconCls: Ext.filterPlatform('blackberry') ? 'list' : null, scrollable: true, items: [ ...
Defaults to: {translatable: {translationMethod: 'scrollposition'}}
The scroll view.
Overrides: Ext.Container.scrollable
Animation effect to apply when the Component is being shown. Typically you want to use an inbound animation type such as 'fadeIn' or 'slideIn'. For more animations, check the Ext.fx.Animation.type config.
Whether or not we want to perform a standard form submit.
Defaults to: false
true
to stop the event that fires when you click outside the floating component.
true
to stop the event that fires when you click outside the floating component.
This cfg has been removed since 2.0.0
Optional CSS styles that will be rendered into an inline style attribute when the Component is rendered.
You can pass either a string syntax:
style: 'background:red'
Or by using an object:
style: {
background: 'red'
}
When using the object syntax, you can define CSS Properties by using a string:
style: {
'border-left': '1px solid red'
}
Although the object syntax is much easier to read, we suggest you to use the string syntax for better performance.
The class that is added to the content target when you set styleHtmlContent
to true
.
Defaults to: "x-html"
true
to automatically style the HTML inside the content target of this component (body for panels).
Defaults to: false
When this is set to true
, the form will automatically submit itself whenever the action
event fires on a field in this form. The action event usually fires whenever you press
go or enter inside a textfield.
Defaults to: false
The absolute top position of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
Explicitly setting this value will make this Component become 'floating', which means its layout will no
longer be affected by the Container that it resides in.
A String, Ext.Template, Ext.XTemplate or an Array of strings to form an Ext.XTemplate. Used in conjunction with the data and tplWriteMode configurations.
Note The data configuration must be set for any content to be shown in the component when using this configuration.
The Ext.(X)Template method to use when updating the content area of the Component. Valid modes are:
Defaults to: 'overwrite'
The target of any mask shown on this form.
The target of any mask shown on this form.
This cfg has been removed since 2.0.0
There is no need to set a mask target anymore. Please see the masked configuration instead.
The defined waitMsg template. Used for precise control over the masking agent used to mask the FormPanel (or other Element) during form Ajax/submission actions. For more options, see showMask method.
This cfg has been removed since 2.0.0
Please use a custom Ext.LoadMask class and the masked configuration when submitting your form.
The width of this Component; must be a valid CSS length value, e.g: 300
, 100px
, 30%
, etc.
By default, if this is not explicitly set, this Component's element will simply have its own natural size.
If set to auto
, it will set the width to null
meaning it will have its own natural size.
List of xtypes for Ext.Component. XTypes must not contain periods.
Ext.define('MyApp.CoolPanel', {
extend: 'Ext.panel.Panel',
xtype: 'coolpanel',
config: {
html : 'Yeah!'
}
});
// Using Ext.create
Ext.create('widget.coolpanel');
// Using the shorthand for widgets and in xtypes
Ext.widget('panel', {
items: [
{xtype: 'coolpanel', html: 'Foo'},
{xtype: 'coolpanel', html: 'Bar'}
]
});
The set of all items in this Container.
This property has been deprecated since 2.0.0
Please use getItems method instead.
Defaults to: /^(?:delegate|single|delay|buffer|args|prepend|element)$/
Overrides: Ext.mixin.Observable.listenerOptionsRegex
Defaults to: {id: 'traversable'}
Overrides: Ext.mixin.Observable.mixinConfig
Defaults to: 'component'
Overrides: Ext.mixin.Observable.observableType
Get the reference to the current class from which this object was instantiated. Unlike statics,
this.self
is scope-dependent and it's meant to be used for dynamic inheritance. See statics
for a detailed comparison
Ext.define('My.Cat', {
statics: {
speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
},
constructor: function() {
alert(this.self.speciesName); // dependent on 'this'
},
clone: function() {
return new this.self();
}
});
Ext.define('My.SnowLeopard', {
extend: 'My.Cat',
statics: {
speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'
}
});
var cat = new My.Cat(); // alerts 'Cat'
var snowLeopard = new My.SnowLeopard(); // alerts 'Snow Leopard'
var clone = snowLeopard.clone();
alert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'
Creates new Component.
Overrides: Ext.Component.constructor, Ext.Container.constructor
Adds one or more Components to this Container. Example:
var myPanel = Ext.create('Ext.Panel', {
html: 'This will be added to a Container'
});
myContainer.add([myPanel]);
The new items to add to the Container.
The last item added to the Container from the newItems
array.
Appends an after-event handler.
Same as addListener with order
set to 'after'
.
The name of the event to listen for.
The method the event invokes.
The scope for fn
.
An object containing handler configuration.
Appends a before-event handler. Returning false
from the handler will stop the event.
Same as addListener with order
set to 'before'
.
The name of the event to listen for.
The method the event invokes.
The scope for fn
.
An object containing handler configuration.
Adds the specified events to the list of events which this Observable may fire.
This method has been deprecated since 2.0
It's no longer needed to add events before firing.
Appends an event handler to this object. You can review the available handlers by looking at the 'events' section of the documentation for the component you are working with.
Using the options argument, it is possible to combine different types of listeners:
A delayed, one-time listener:
container.addListener('tap', this.handleTap, this, {
single: true,
delay: 100
});
The method also allows for a single argument to be passed which is a config object containing properties which specify multiple events. For example:
container.addListener({
tap : this.onTap,
swipe: this.onSwipe,
scope: this // Important. Ensure "this" is correct during handler execution
});
One can also specify options for each event handler separately:
container.addListener({
tap : { fn: this.onTap, scope: this, single: true },
swipe: { fn: button.onSwipe, scope: button }
});
See the Events Guide for more.
The name of the event to listen for. May also be an object who's property names are event names.
The method the event invokes. Will be called with arguments given to
fireEvent plus the options
parameter described below.
The scope (this
reference) in which the handler function is executed. If
omitted, defaults to the object which fired the event.
An object containing handler configuration.
This object may contain any of the following properties:
The scope (this
reference) in which the handler function is executed. If omitted, defaults to the object
which fired the event.
The number of milliseconds to delay the invocation of the handler after the event fires.
true
to add a handler to handle just the next firing of the event, and then remove itself.
The order of when the listener should be added into the listener queue.
If you set an order of before
and the event you are listening to is preventable, you can return false
and it will stop the event.
Available options are before
, current
and after
.
Defaults to: current
Causes the handler to be delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place.
Allows you to add a listener onto a element of this component using the elements reference.
Ext.create('Ext.Component', {
listeners: {
element: 'element',
tap: function() {
alert('element tap!');
}
}
});
All components have the element
reference, which is the outer most element of the component. Ext.Container also has the
innerElement
element which contains all children. In most cases element
is adequate.
Uses Ext.ComponentQuery to delegate events to a specified query selector within this item.
// Create a container with a two children; a button and a toolbar
var container = Ext.create('Ext.Container', {
items: [
{
xtype: 'toolbar',
docked: 'top',
title: 'My Toolbar'
},
{
xtype: 'button',
text: 'My Button'
}
]
});
container.addListener({
// Ext.Buttons have an xtype of 'button', so we use that are a selector for our delegate
delegate: 'button',
tap: function() {
alert('Button tapped!');
}
});
The order of when the listener should be added into the listener queue.
Possible values are before
, current
and after
.
Defaults to: 'current'
Adds listeners to any Observable object (or Element) which are automatically removed when this Component is destroyed.
This method has been deprecated since 2.0
All listeners are now automatically managed where necessary. Simply use addListener.
The item to which to add a listener/listeners.
The event name, or an object containing event name properties.
If the eventName
parameter was an event name, this is the handler function.
If the eventName
parameter was an event name, this is the scope in which
the handler function is executed.
If the eventName
parameter was an event name, this is the
addListener options.
Significantly improve instantiation time for Component with multiple references Ext.Element instance of the reference domNode is only created the very first time it's ever used.
Used to handle joining of a record to a tpl
Used to handle joining of a record to a tpl
Animates to the supplied activeItem
with a specified animation. Currently this only works
with a Card layout. This passed animation will override any default animations on the
container, for a single card switch. The animation will be destroyed when complete.
The item or item index to make active.
Card animation configuration or instance.
Changes the masked configuration when its setter is called, which will convert the value into a proper object/instance of Ext.Mask/Ext.LoadMask. If a mask already exists, it will use that instead.
Call the original method that was previously overridden with override,
This method is deprecated as callParent does the same thing.
Ext.define('My.Cat', {
constructor: function() {
alert("I'm a cat!");
}
});
My.Cat.override({
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callOverridden();
alert("Meeeeoooowwww");
return instance;
}
});
var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
// alerts "I'm a cat!"
// alerts "Meeeeoooowwww"
The arguments, either an array or the arguments
object
from the current method, for example: this.callOverridden(arguments)
Returns the result of calling the overridden method
Call the "parent" method of the current method. That is the method previously overridden by derivation or by an override (see Ext.define).
Ext.define('My.Base', {
constructor: function (x) {
this.x = x;
},
statics: {
method: function (x) {
return x;
}
}
});
Ext.define('My.Derived', {
extend: 'My.Base',
constructor: function () {
this.callParent([21]);
}
});
var obj = new My.Derived();
alert(obj.x); // alerts 21
This can be used with an override as follows:
Ext.define('My.DerivedOverride', {
override: 'My.Derived',
constructor: function (x) {
this.callParent([x*2]); // calls original My.Derived constructor
}
});
var obj = new My.Derived();
alert(obj.x); // now alerts 42
This also works with static methods.
Ext.define('My.Derived2', {
extend: 'My.Base',
statics: {
method: function (x) {
return this.callParent([x*2]); // calls My.Base.method
}
}
});
alert(My.Base.method(10)); // alerts 10
alert(My.Derived2.method(10)); // alerts 20
Lastly, it also works with overridden static methods.
Ext.define('My.Derived2Override', {
override: 'My.Derived2',
statics: {
method: function (x) {
return this.callParent([x*2]); // calls My.Derived2.method
}
}
});
alert(My.Derived2.method(10)); // now alerts 40
To override a method and replace it and also call the superclass method, use callSuper. This is often done to patch a method to fix a bug.
The arguments, either an array or the arguments
object
from the current method, for example: this.callParent(arguments)
Returns the result of calling the parent method
This method is used by an override to call the superclass method but bypass any overridden method. This is often done to "patch" a method that contains a bug but for whatever reason cannot be fixed directly.
Consider:
Ext.define('Ext.some.Class', {
method: function () {
console.log('Good');
}
});
Ext.define('Ext.some.DerivedClass', {
method: function () {
console.log('Bad');
// ... logic but with a bug ...
this.callParent();
}
});
To patch the bug in DerivedClass.method
, the typical solution is to create an
override:
Ext.define('App.paches.DerivedClass', {
override: 'Ext.some.DerivedClass',
method: function () {
console.log('Fixed');
// ... logic but with bug fixed ...
this.callSuper();
}
});
The patch method cannot use callParent
to call the superclass method
since
that would call the overridden method containing the bug. In other words, the
above patch would only produce "Fixed" then "Good" in the console log, whereas,
using callParent
would produce "Fixed" then "Bad" then "Good".
The arguments, either an array or the arguments
object
from the current method, for example: this.callSuper(arguments)
Returns the result of calling the superclass method
Retrieves the first direct child of this container which matches the passed selector. The passed in selector must comply with an Ext.ComponentQuery selector.
An Ext.ComponentQuery selector.
A convenient method to disable all fields in this form.
This form.
Overrides: Ext.Component.doSetDisabled
Retrieves the first descendant of this container which matches the passed selector. The passed in selector must comply with an Ext.ComponentQuery selector.
An Ext.ComponentQuery selector.
Fires the specified event with the passed parameters and execute a function (action)
at the end if there are no listeners that return false
.
The name of the event to fire.
Arguments to pass to handers.
Action.
Scope of fn.
Fires the specified event with the passed parameters (minus the event name, plus the options
object passed
to addListener).
The first argument is the name of the event. Every other argument passed will be available when you listen for the event.
Firstly, we set up a listener for our new event.
this.on('myevent', function(arg1, arg2, arg3, arg4, options, e) {
console.log(arg1); // true
console.log(arg2); // 2
console.log(arg3); // { test: 'foo' }
console.log(arg4); // 14
console.log(options); // the options added when adding the listener
console.log(e); // the event object with information about the event
});
And then we can fire off the event.
this.fireEvent('myevent', true, 2, { test: 'foo' }, 14);
An event may be set to bubble up an Observable parent hierarchy by calling enableBubble.
The name of the event to fire.
Variable number of parameters are passed to handlers.
Returns false
if any of the handlers return false
.
Tries to focus the next field in the form, if there is currently a focused field.
The next field that was focused, or false
.
Tries to focus the previous field in the form, if there is currently a focused field.
The previous field that was focused, or false
.
Returns the Component for a given index in the Container's items.
The index of the Component to return.
The item at the specified index
, if found.
Examines this container's items
property
and gets a direct child component of this container.
This parameter may be any of the following:
itemId
or id
of the child component.items
property.For additional information see Ext.util.MixedCollection.get.
The component (if found).
Current Alignment information from the last alignTo call
Finds a docked item of this container using a reference, id
or an index
of its location
in getDockedItems.
The docked component, if found.
Returns all the Ext.Component.docked items in this container.
The docked items of this container.
Retrieves the top level element representing this component.
This method has been deprecated since 2.0.0
Please access the Component's element from the element
property instead, i.e:
var element = component.element;
Returns the value of enterAnimation.
This method has been deprecated since 2.0.0
Please use showAnimation instead.
Returns the value of exitAnimation.
This method has been deprecated since 2.0.0
Please use hideAnimation instead. Typically you want to use an outbound animation type such as 'fadeOut' or 'slideOut'.
Returns an array of fields in this formpanel.
An array of fields in this form panel.
Returns the currently focused field
The currently focused field, if one is focused or null
.
Retrieves the id of this component. Will autogenerate an id if one has not already been set.
id
Returns the parent of this component, if it has one.
The parent of this component.
Used by ComponentQuery to retrieve all of the items
which can potentially be considered a child of this Container.
This should be overridden by components which have child items
that are not contained in items. For example dockedItems
, menu
, etc
Returns an object containing the value of each field in the form, keyed to the field's name. For groups of checkbox fields with the same name, it will be arrays of values. For example:
{
name: "Jacky Nguyen", // From a TextField
favorites: [
'pizza',
'noodle',
'cake'
]
}
true
to return only enabled fields.
true
to return all fields even if they don't have a
name configured.
Object mapping field name to its value.
Returns this Component's xtype hierarchy as a slash-delimited string. For a list of all available xtypes, see the Ext.Component header.
Note: If using your own subclasses, be aware that a Component must register its own xtype to participate in determination of inherited xtypes.
Example usage:
var t = new Ext.field.Text();
alert(t.getXTypes()); // alerts 'component/field/textfield'
The xtype hierarchy string.
Initialize configuration for this class. a typical example:
Ext.define('My.awesome.Class', {
// The default config
config: {
name: 'Awesome',
isAwesome: true
},
constructor: function(config) {
this.initConfig(config);
}
});
var awesome = new My.awesome.Class({
name: 'Super Awesome'
});
alert(awesome.getName()); // 'Super Awesome'
mixins The mixin prototypes as key - value pairs
Allows addition of behavior to the rendering phase.
This is a template method. a hook into the functionality of this class. Feel free to override it in child classes.
Overrides: Ext.Evented.initialize, Ext.Component.initialize, Ext.picker.Picker.initialize
Adds a child Component at the given index. For example, here's how we can add a new item, making it the first child Component of this Container:
myContainer.insert(0, {xtype: 'panel', html: 'new item'});
Returns true
if this Component is currently disabled.
true
if currently disabled.
Tests whether or not this Component is of a specific xtype. This can test whether this Component is descended
from the xtype (default) or whether it is directly of the xtype specified (shallow = true
).
If using your own subclasses, be aware that a Component must register its own xtype
to participate in determination of inherited xtypes.
For a list of all available xtypes, see the Ext.Component header.
Example usage:
var t = new Ext.field.Text();
var isText = t.isXType('textfield'); // true
var isBoxSubclass = t.isXType('field'); // true, descended from Ext.field.Field
var isBoxInstance = t.isXType('field', true); // false, not a direct Ext.field.Field instance
The xtype to check for this Component.
false
to check whether this Component is descended from the xtype (this is
the default), or true
to check whether this Component is directly of the specified xtype.
true
if this component descends from the specified xtype, false
otherwise.
Performs an Ajax or Ext.Direct call to load values for this form.
The configuration when loading this form.
The following are the configurations when loading via Ajax only:
The url for the action (defaults to the form's url).
The form method to use (defaults to the form's method, or GET if not defined).
Request headers to set for the action.
The number is seconds the loading will timeout in.
The following are the configurations when loading via Ajax or Direct:
true
to abort any pending Ajax request prior to loading.
Defaults to: false
The params to pass when submitting this form (defaults to this forms baseParams). Parameters are encoded as standard HTTP parameters using Ext.urlEncode.
The callback that will be invoked after a successful response. A response is successful if
a response is received from the server and is a JSON object where the success
property is set
to true
, {"success": true}
.
The function is passed the following parameters and can be used for loading via Ajax or Direct:
The Ext.form.Panel that requested the load.
The result object returned by the server as a result of the load request. If the loading was done via Ext.Direct, will return the Ext.direct.Event instance, otherwise will return an Object.
The parsed data returned by the server.
The parsed data returned by the server.
The callback that will be invoked after a failed transaction attempt.
The function is passed the following parameters and can be used for loading via Ajax or Direct:
The Ext.form.Panel that requested the load.
The failed response or result object returned by the server which performed the operation.
The scope in which to call the callback functions (The this
reference for the callback functions).
The request object.
Loads matching fields from a model instance into this form.
This method has been deprecated since 2.0.0
Please use setRecord instead.
The model instance.
This form.
Loads matching fields from a model instance into this form.
This method has been deprecated since 2.0.0
Please use setRecord instead.
The model instance.
This form.
Alias for addManagedListener.
This method has been deprecated since 2.0.0
This is now done automatically
The item to which to add a listener/listeners.
The event name, or an object containing event name properties.
If the eventName
parameter was an event name, this is the handler function.
If the eventName
parameter was an event name, this is the scope in which
the handler function is executed.
If the eventName
parameter was an event name, this is the
addListener options.
Alias for removeManagedListener.
This method has been deprecated since 2.0.0
This is now done automatically
The item to which to add a listener/listeners.
The event name, or an object containing event name properties.
If the eventName
parameter was an event name, this is the handler function.
If the eventName
parameter was an event name, this is the scope in which
the handler function is executed.
Alias for addListener.
The name of the event to listen for. May also be an object who's property names are event names.
The method the event invokes. Will be called with arguments given to
fireEvent plus the options
parameter described below.
The scope (this
reference) in which the handler function is executed. If
omitted, defaults to the object which fired the event.
An object containing handler configuration.
This object may contain any of the following properties:
The scope (this
reference) in which the handler function is executed. If omitted, defaults to the object
which fired the event.
The number of milliseconds to delay the invocation of the handler after the event fires.
true
to add a handler to handle just the next firing of the event, and then remove itself.
The order of when the listener should be added into the listener queue.
If you set an order of before
and the event you are listening to is preventable, you can return false
and it will stop the event.
Available options are before
, current
and after
.
Defaults to: current
Causes the handler to be delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place.
Allows you to add a listener onto a element of this component using the elements reference.
Ext.create('Ext.Component', {
listeners: {
element: 'element',
tap: function() {
alert('element tap!');
}
}
});
All components have the element
reference, which is the outer most element of the component. Ext.Container also has the
innerElement
element which contains all children. In most cases element
is adequate.
Uses Ext.ComponentQuery to delegate events to a specified query selector within this item.
// Create a container with a two children; a button and a toolbar
var container = Ext.create('Ext.Container', {
items: [
{
xtype: 'toolbar',
docked: 'top',
title: 'My Toolbar'
},
{
xtype: 'button',
text: 'My Button'
}
]
});
container.addListener({
// Ext.Buttons have an xtype of 'button', so we use that are a selector for our delegate
delegate: 'button',
tap: function() {
alert('Button tapped!');
}
});
The order of when the listener should be added into the listener queue.
Possible values are before
, current
and after
.
Defaults to: 'current'
Initialize layout and event listeners the very first time an item is added
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.
Removes an item from this Container, optionally destroying it.
The item to remove.
Calls the Component's destroy
method if true
.
this
Removes a before-event handler.
Same as removeListener with order
set to 'after'
.
The name of the event the handler was associated with.
The handler to remove.
The scope originally specified for fn
.
Extra options object.
Removes all items currently in the Container, optionally destroying them all.
If true
, destroys
each removed Component.
If true
, completely remove all items including
docked / centered and floating items.
this
Removes the Component at the specified index:
myContainer.removeAt(0); // removes the first item
The index of the Component to remove.
this
Removes a before-event handler.
Same as removeListener with order
set to 'before'
.
The name of the event the handler was associated with.
The handler to remove.
The scope originally specified for fn
.
Extra options object.
Removes a docked item from this Container.
This method has been deprecated since 2.0.0
Please use remove instead.
this
Removes an inner Component at the specified index:
myContainer.removeInnerAt(0); // removes the first item of the innerItems property
The index of the Component to remove.
this
Removes an event handler.
The type of event the handler was associated with.
The handler to remove. This must be a reference to the function passed into the addListener call.
The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to addListener or the listener will not be removed.
Extra options object. See addListener for details.
The order of the listener to remove.
Possible values are before
, current
and after
.
Defaults to: 'current'
Adds listeners to any Observable object (or Element) which are automatically removed when this Component is destroyed.
This method has been deprecated since 2.0
All listeners are now automatically managed where necessary. Simply use removeListener.
The item to which to add a listener/listeners.
The event name, or an object containing event name properties.
If the eventName
parameter was an event name, this is the handler function.
If the eventName
parameter was an event name, this is the scope in which
the handler function is executed.
Replaces specified classes with the newly specified classes. It uses the addCls and removeCls methods, so if the class(es) you are removing don't exist, it will still add the new classes.
The class(es) to remove.
The class(es) to add.
Optional prefix to prepend before each class.
Defaults to: ""
Optional suffix to append to each class.
Defaults to: ""
Resumes firing events (see suspendEvents).
Pass as true to discard any queued events.
Sets the value of enterAnimation.
This method has been deprecated since 2.0.0
Please use showAnimation instead.
Sets the value of exitAnimation.
This method has been deprecated since 2.0.0
Please use hideAnimation instead. Typically you want to use an outbound animation type such as 'fadeOut' or 'slideOut'.
Loads matching fields from a model instance into this form.
The model instance.
This form.
Overrides: Ext.Component.setRecord
Sets the values of form fields in bulk. Example usage:
myForm.setValues({
name: 'Ed',
crazy: true,
username: 'edspencer'
});
If there groups of checkbox fields with the same name, pass their values in an array. For example:
myForm.setValues({
name: 'Jacky',
crazy: false,
hobbies: [
'reading',
'cooking',
'gaming'
]
});
field name => value mapping object.
This form.
Shows this component optionally using an animation.
Overrides: Ext.Component.show, Ext.Container.show
Shows this component by another component. If you specify no alignment, it will automatically position this component relative to the reference component.
For example, say we are aligning a Panel next to a Button, the alignment string would look like this:
[panel-vertical (t/b/c)][panel-horizontal (l/r/c)]-[button-vertical (t/b/c)][button-horizontal (l/r/c)]
where t = top, b = bottom, c = center, l = left, r = right.
tl-tr
means top-left corner of the Panel to the top-right corner of the Buttontc-bc
means top-center of the Panel to the bottom-center of the ButtonYou can put a '?' at the end of the alignment string to constrain the floating element to the Viewport
// show `panel` by `button` using the default positioning (auto fit)
panel.showBy(button);
// align the top left corner of `panel` with the top right corner of `button` (constrained to viewport)
panel.showBy(button, "tl-tr?");
// align the bottom right corner of `panel` with the center left edge of `button` (not constrained by viewport)
panel.showBy(button, "br-cl");
The target component to show this component by.
The specific alignment.
Shows a generic/custom mask over a designated Element.
This method has been deprecated since 2.0.0
Please use setMasked instead.
Either a string message or a configuration object supporting the following options:
{
message : 'Please Wait',
cls : 'form-mask'
}
This form
Get the reference to the class from which this object was instantiated. Note that unlike self,
this.statics()
is scope-independent and it always returns the class from which it was called, regardless of what
this
points to during run-time
Ext.define('My.Cat', {
statics: {
totalCreated: 0,
speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
},
constructor: function() {
var statics = this.statics();
alert(statics.speciesName); // always equals to 'Cat' no matter what 'this' refers to
// equivalent to: My.Cat.speciesName
alert(this.self.speciesName); // dependent on 'this'
statics.totalCreated++;
},
clone: function() {
var cloned = new this.self(); // dependent on 'this'
cloned.groupName = this.statics().speciesName; // equivalent to: My.Cat.speciesName
return cloned;
}
});
Ext.define('My.SnowLeopard', {
extend: 'My.Cat',
statics: {
speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'
},
constructor: function() {
this.callParent();
}
});
var cat = new My.Cat(); // alerts 'Cat', then alerts 'Cat'
var snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'
var clone = snowLeopard.clone();
alert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'
alert(clone.groupName); // alerts 'Cat'
alert(My.Cat.totalCreated); // alerts 3
Performs a Ajax-based submission of form values (if standardSubmit is false) or otherwise executes a standard HTML Form submit action.
Notes
Only the first parameter is implemented. Put all other parameters inside the first parameter:
submit({params: "" ,headers: "" etc.})
Submit example:
myForm.submit({ url: 'PostMyData/To', method: 'Post', success: function() { Ext.Msg.alert("success"); }, failure: function() { Ext.Msg.alert("error"); } });
Parameters and values only submit for a POST and not for a GET.
The configuration when submitting this form.
The following are the configurations when submitting via Ajax only:
The url for the action (defaults to the form's url).
The form method to use (defaults to the form's method, or POST if not defined).
Request headers to set for the action.
true
to abort any pending Ajax request prior to submission.
Note: Has no effect when standardSubmit
is enabled.
Defaults to: false
The number is seconds the loading will timeout in.
The following are the configurations when loading via Ajax or Direct:
The params to pass when submitting this form (defaults to this forms baseParams). Parameters are encoded as standard HTTP parameters using Ext.urlEncode.
true
to submit all fields regardless of disabled state.
Note: Has no effect when standardSubmit
is enabled.
Defaults to: false
The callback that will be invoked after a successful response. A response is successful if
a response is received from the server and is a JSON object where the success
property is set
to true
, {"success": true}
.
The function is passed the following parameters and can be used for submitting via Ajax or Direct:
The Ext.form.Panel that requested the action.
The result object returned by the server as a result of the submit request. If the submit is sent using Ext.Direct, this will return the Ext.direct.Event instance, otherwise will return an Object.
The parsed data returned by the server.
The parsed data returned by the server.
The callback that will be invoked after a failed transaction attempt.
The function is passed the following parameters and can be used for submitting via Ajax or Direct:
The Ext.form.Panel that requested the submit.
The failed response or result object returned by the server which performed the operation.
The scope in which to call the callback functions (The this
reference for the callback functions).
The request object if the standardSubmit config is false. If the standardSubmit config is true, then the return value is undefined.
Suspends the firing of all events.
All events will be queued but you can discard the queued events by passing false in the resumeEvents call
Add or removes a class based on if the class is already added to the Component.
The class to toggle.
this
Alias for removeListener.
The type of event the handler was associated with.
The handler to remove. This must be a reference to the function passed into the addListener call.
The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to addListener or the listener will not be removed.
Extra options object. See addListener for details.
The order of the listener to remove.
Possible values are before
, current
and after
.
Defaults to: 'current'
Walks up the ownerCt
axis looking for an ancestor Container which matches
the passed simple selector.
Example:
var owningTabPanel = grid.up('tabpanel');
The simple selector to test.
The matching ancestor Container (or undefined
if no match was found).
Add methods / properties to the prototype of this class.
Ext.define('My.awesome.Cat', {
constructor: function() {
// ...
}
});
My.awesome.Cat.addMembers({
meow: function() {
alert('Meowww...');
}
});
var kitty = new My.awesome.Cat();
kitty.meow();
Add / override static properties of this class.
Ext.define('My.cool.Class', {
// this.se
});
My.cool.Class.addStatics({
someProperty: 'someValue', // My.cool.Class.someProperty = 'someValue'
method1: function() { }, // My.cool.Class.method1 = function() { ... };
method2: function() { } // My.cool.Class.method2 = function() { ... };
});
this
Borrow another class' members to the prototype of this class.
Ext.define('Bank', {
money: '$$$',
printMoney: function() {
alert('$$$$$$$');
}
});
Ext.define('Thief', {
// ...
});
Thief.borrow(Bank, ['money', 'printMoney']);
var steve = new Thief();
alert(steve.money); // alerts '$$$'
steve.printMoney(); // alerts '$$$$$$$'
The class to borrow members from
The names of the members to borrow
this
Create a new instance of this Class.
Ext.define('My.cool.Class', {
// ...
});
My.cool.Class.create({
someConfig: true
});
All parameters are passed to the constructor of the class.
the created instance.
Create aliases for existing prototype methods. Example:
Ext.define('My.cool.Class', {
method1: function() { },
method2: function() { }
});
var test = new My.cool.Class();
My.cool.Class.createAlias({
method3: 'method1',
method4: 'method2'
});
test.method3(); // test.method1()
My.cool.Class.createAlias('method5', 'method3');
test.method5(); // test.method3() -> test.method1()
The new method name, or an object to set multiple aliases. See flexSetter
The original method name
Get the current class' name in string format.
Ext.define('My.cool.Class', {
constructor: function() {
alert(this.self.getName()); // alerts 'My.cool.Class'
}
});
My.cool.Class.getName(); // 'My.cool.Class'
className
Override members of this class. Overridden methods can be invoked via callParent.
Ext.define('My.Cat', {
constructor: function() {
alert("I'm a cat!");
}
});
My.Cat.override({
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callParent(arguments);
alert("Meeeeoooowwww");
return instance;
}
});
var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
// alerts "I'm a cat!"
// alerts "Meeeeoooowwww"
As of 2.1, direct use of this method is deprecated. Use Ext.define instead:
Ext.define('My.CatOverride', {
override: 'My.Cat',
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callParent(arguments);
alert("Meeeeoooowwww");
return instance;
}
});
The above accomplishes the same result but can be managed by the Ext.Loader which can properly order the override and its target class and the build process can determine whether the override is needed based on the required state of the target class (My.Cat).
This method has been deprecated since 2.1.0
Please use Ext.define instead
The properties to add to this class. This should be specified as an object literal containing one or more properties.
this class
Fires whenever item within the Container is activated.
The new active item within the container.
The Container instance.
The old active item within the container.
The options object passed to Ext.util.Observable.addListener.
Fires when the activeItem configuration is changed by setActiveItem.
The Ext.Container instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires whenever item added to the Container.
The Container instance.
The item added to the Container.
The index of the item within the Container.
The options object passed to Ext.util.Observable.addListener.
Fires before orientation changes.
This event has been removed since 2.0.0
This event is now only available onBefore
the Viewport's Ext.Viewport.orientationchange
The options object passed to Ext.util.Observable.addListener.
Fires immediately preceding any Form submit action.
Implementations may adjust submitted form values or options prior to execution.
A return value of false
from this listener will abort the submission
attempt (regardless of standardSubmit
configuration).
This action following this event is preventable. When any of the listeners returns false, the action is cancelled.
This FormPanel.
A hash collection of the qualified form values about to be submitted.
Submission options hash (only available when standardSubmit
is false
).
The event object if the form was submitted via a HTML5 form submit event.
The options object passed to Ext.util.Observable.addListener.
Fires when the bottom configuration is changed by setBottom.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the centered configuration is changed by setCentered.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires whenever item within the Container is deactivated.
The old active item within the container.
The Container instance.
The new active item within the container.
The options object passed to Ext.util.Observable.addListener.
Fires when the component is destroyed
The options object passed to Ext.util.Observable.addListener.
Fires when the disabled configuration is changed by setDisabled.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the docked configuration is changed by setDocked.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the component is no longer displayed in the DOM. Listening to this event will degrade performance not recommend for general use.
The component instance
The options object passed to Ext.util.Observable.addListener.
Fires when either the Ajax HTTP request reports a failure OR the server returns a success:false
response in the result payload.
This FormPanel.
Either a failed Ext.data.Connection request object or a failed (logical) server. response payload.
The options object passed to Ext.util.Observable.addListener.
Fires when the flex configuration is changed by setFlex.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires whenever there is a change in the floating status of a component
The component instance
The component's new floating state
The options object passed to Ext.util.Observable.addListener.
Fires whenever a Component with the fullscreen config is instantiated
The component instance
The options object passed to Ext.util.Observable.addListener.
Fires when the height configuration is changed by setHeight.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires whenever the Component is hidden
The component instance
The options object passed to Ext.util.Observable.addListener.
Fires when the component has been initialized
The component instance
The options object passed to Ext.util.Observable.addListener.
Fires when the left configuration is changed by setLeft.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the maxHeight configuration is changed by setMaxHeight.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the maxWidth configuration is changed by setMaxWidth.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the minHeight configuration is changed by setMinHeight.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the minWidth configuration is changed by setMinWidth.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires whenever item moved within the Container.
The Container instance.
The item moved within the Container.
The new index of the item.
The old index of the item.
The options object passed to Ext.util.Observable.addListener.
Fires when orientation changes.
This event has been removed since 2.0.0
This event is now only available on the Viewport's Ext.Viewport.orientationchange
The options object passed to Ext.util.Observable.addListener.
Fires whenever this Element actually becomes visible (painted) on the screen. This is useful when you need to perform 'read' operations on the DOM element, i.e: calculating natural sizes and positioning.
Note: This event is not available to be used with event delegation. Instead painted
only fires if you explicitly
add at least one listener to it, for performance reasons.
The component's outer element (this.element)
The options object passed to Ext.util.Observable.addListener.
Fires whenever item removed from the Container.
The Container instance.
The item removed from the Container.
The index of the item that was removed.
The options object passed to Ext.util.Observable.addListener.
Fires whenever an item is rendered into a container or derendered from a Container.
The Container instance.
The item in the Container.
The current rendered status of the item.
The options object passed to Ext.util.Observable.addListener.
Important note: For the best performance on mobile devices, use this only when you absolutely need to monitor a Element's size.
Note: This event is not available to be used with event delegation. Instead resize
only fires if you explicitly
add at least one listener to it, for performance reasons.
The component's outer element (this.element)
The options object passed to Ext.util.Observable.addListener.
Fires when the right configuration is changed by setRight.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires when the scrollable configuration is changed by setScrollable.
The Ext.Container instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
The scroll view.
Fires whenever the Component is shown
The component instance
The options object passed to Ext.util.Observable.addListener.
Fires upon successful (Ajax-based) form submission.
This action following this event is preventable. When any of the listeners returns false, the action is cancelled.
This FormPanel.
The result object as returned by the server.
The event object.
The options object passed to Ext.util.Observable.addListener.
Fires when the top configuration is changed by setTop.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Fires whenever the data of the component is updated
The component instance
The new data
The options object passed to Ext.util.Observable.addListener.
Fires when the width configuration is changed by setWidth.
The Ext.Component instance.
The new value being set.
The existing value.
The options object passed to Ext.util.Observable.addListener.
Default background-color for forms.
Defaults to: #eee
Dark color for form fields, mostly used on labels/text.
Defaults to: #333
The default background color for labels
Defaults to: lighten ( $form-light , 10% )
Default width for form labels.
Defaults to: 6em
Light color for form fields, mostly used on field borders.
Defaults to: #ddd
Default spacing for form fields, used for padding, etc.
Defaults to: .6em
Decides whether or not to include floating panels (useful to disable for iPhone applications which do not typically have floating menus).
Defaults to: true
The default border radius of floating panels.
Defaults to: .3em