Hierarchy
Ext.AbstractComponentExt.ComponentExt.draw.ComponentExt.chart.ChartMixins
The Ext.chart package provides the capability to visualize data. Each chart binds directly to an Ext.data.Store enabling automatic updates of the chart. A chart configuration object has some overall styling options as well as an array of axes and series. A chart instance example could look like:
Ext.create('Ext.chart.Chart', {
renderTo: Ext.getBody(),
width: 800,
height: 600,
animate: true,
store: store1,
shadow: true,
theme: 'Category1',
legend: {
position: 'right'
},
axes: [ ...some axes options... ],
series: [ ...some series options... ]
});
In this example we set the width
and height
of the chart, we decide whether our series are
animated or not and we select a store to be bound to the chart. We also turn on shadows for all series,
select a color theme Category1
for coloring the series, set the legend to the right part of the chart and
then tell the chart to render itself in the body element of the document. For more information about the axes and
series configurations please check the documentation of each series (Line, Bar, Pie, etc).
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.
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'.
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'
(optional) true for the default animation (easing: 'ease' and duration: 500) or a standard animation config object to be used for default chart animations. Defaults to false.
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'
}
}
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.
Turn on autoSize support which will set the bounding div's size to the natural size of the contents. Defaults to false.
Turn on autoSize support which will set the bounding div's size to the natural size of the contents. Defaults to false.
(optional) Set the chart background. This can be a gradient object, image, or color. Defaults to false for no background.
For example, if background
were to be a color we could set the object as
background: {
//color string
fill: '#ccc'
}
You can specify an image by using:
background: {
image: 'http://path.to.image/'
}
Also you can specify a gradient by using the gradient object syntax:
background: {
gradient: {
id: 'gradientId',
angle: 45,
stops: {
0: {
color: '#555'
}
100: {
color: '#ddd'
}
}
}
}
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.
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 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.
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.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();
Defines the priority order for which Surface implementation to use. The first one supported by the current environment will be used.
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.
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.
(optional) Define a set of gradients that can be used as fill
property in sprites.
The gradients array is an array of objects with the following properties:
For example:
gradients: [{
id: 'gradientId',
angle: 45,
stops: {
0: {
color: '#555'
},
100: {
color: '#ddd'
}
}
}, {
id: 'gradientId2',
angle: 0,
stops: {
0: {
color: '#590'
},
20: {
color: '#599'
},
100: {
color: '#ddd'
}
}
}]
Then the sprites can use `gradientId` and `gradientId2` by setting the fill attributes to those ids, for example:
sprite.setAttributes({
fill: 'url(#gradientId)'
}, true);
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
.
(optional) Set the amount of inset padding in pixels for the chart. Defaults to 10.
(optional) Set the amount of inset padding in pixels for the chart. Defaults to 10.
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.
(optional) true for the default legend display or a legend config object. Defaults to false.
(optional) true for the default legend display or a legend config object. Defaults to false.
(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.
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.
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
Redraw the chart. If animations are set this will animate the chart too. Optional flag which changes the default origin points of the chart for animations.
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.
(optional) The name of the theme to be used. A theme defines the colors and other visual displays of tick marks on axis, text, title text, line colors, marker colors and styles, etc. Possible theme values are 'Base', 'Green', 'Sky', 'Red', 'Purple', 'Blue', 'Yellow' and also six category themes 'Category1' to 'Category6'. Default value is 'Base'.
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)
Turn on view box support which will scale and position items in the draw component to fit to the component while maintaining aspect ratio. Note that this scaling can override other sizing settings on yor items. Defaults to true.
Read-only property indicating whether or not the component can be dragged
Read-only property indicating whether or not the component can be dragged
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.
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.
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
@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
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.
Changes the data store bound to this chart and refreshes it.
Changes the data store bound to this chart and refreshes it.
The store to bind to this chart
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.
Center this Component in its container.
Center this Component in its container.
this
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
Create the Surface instance. Resolves the correct Surface implementation to instantiate based on the 'enginePriority' config. Once the Surface instance is created you can use the handle to that instance to add sprites. For example:
drawComponent.surface.add(sprite);
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.
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.
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 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.
Retrieves the top level element representing this component.
Retrieves the top level element representing this component.
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.
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
Gets the Ext.ComponentLoader for this Component.
Gets the Ext.ComponentLoader for this Component.
The loader instance, null if it doesn't exist.
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.
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
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
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
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.
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 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.
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.
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 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.
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 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
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
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
Fires after a Component has been visually activated.
Fires after a Component has been visually activated.
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 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 a Component has been visually deactivated. Returning false from an event listener can prevent the deactivate from occurring.
Fires before a refresh to the chart data is called. If the beforerefresh handler returns false the refresh action will be cancelled.
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 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 after the component is moved.
Fires after the component is moved.
The new x position
The new y position
Fires after the chart data has been refreshed.
Fires after the chart data has been refreshed.
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.