An Action is a piece of reusable functionality that can be abstracted out of any particular component so that it
can be usefully shared among multiple components. Actions let you share handlers, configuration options and UI
updates across any components that support the Action interface (primarily Ext.toolbar.Toolbar, Ext.button.Button
and Ext.menu.Menu components).
Aside from supporting the config object interface, any component that needs to use Actions must also support
the following method list, as these will be called as needed by the Action class: setText(string), setIconCls(string),
setDisabled(boolean), setVisible(boolean) and setHandler(function).
Example usage:
// Define the shared action. Each component below will have the same
// display text and icon, and will display the same message on click.
var action = new Ext.Action({
text: 'Do something',
handler: function(){
Ext.Msg.alert('Click', 'You did something.');
},
iconCls: 'do-something',
itemId: 'myAction'
});
var panel = new Ext.panel.Panel({
title: 'Actions',
width: 500,
height: 300,
tbar: [
// Add the action directly to a toolbar as a menu button
action,
{
text: 'Action Menu',
// Add the action to a menu as a text item
menu: [action]
}
],
items: [
// Add the action to the panel body as a standard button
new Ext.button.Button(action)
],
renderTo: Ext.getBody()
});
// Change the text for all components using the action
action.setText('Something else');
// Reference an action through a container using the itemId
var btn = panel.getComponent('myAction');
var aRef = btn.baseAction;
aRef.setText('New text');
True to disable all components using this action, false to enable them (defaults to false).
True to disable all components using this action, false to enable them (defaults to false).
The function that will be invoked by each component tied to this action
when the component's primary event is trigger...
The function that will be invoked by each component tied to this action
when the component's primary event is triggered (defaults to undefined).
True to hide all components using this action, false to show them (defaults to false).
True to hide all components using this action, false to show them (defaults to false).
The CSS class selector that specifies a background image to be used as the header icon for
all components using this ...
The CSS class selector that specifies a background image to be used as the header icon for
all components using this action (defaults to '').
An example of specifying a custom icon class would be something like:
// specify the property in the config for the class:
...
iconCls: 'do-something'
// css class that specifies background image to be used as the icon image:
.do-something { background-image: url(../images/my-icon.gif) 0 6px no-repeat !important; }
The scope (
this reference) in which the
handler
is executed. Defaults to this Button.
The scope (
this reference) in which the
handler
is executed. Defaults to this Button.
The text to set for all components using this action (defaults to '').
The text to set for all components using this action (defaults to '').
Disables all components using this action.
Disables all components using this action.
each(
Function fn, Object scope ) : Void
Executes the specified function once for each Component currently tied to this action. The function passed
in should...
Executes the specified function once for each Component currently tied to this action. The function passed
in should accept a single argument that will be an object that supports the basic Action config/method interface.
Parameters
Returns
Enables all components using this action.
Enables all components using this action.
execute(
[Mixed arg1], [Mixed arg2], [Mixed etc...] ) : Void
Executes this action manually using the handler function specified in the original config object
or the handler funct...
Executes this action manually using the handler function specified in the original config object
or the handler function set with
setHandler
. Any arguments passed to this
function will be passed on to the handler function.
Parameters
Returns
Gets the icon CSS class currently used by all components using this action.
Gets the icon CSS class currently used by all components using this action.
Gets the text currently displayed by all components using this action.
Gets the text currently displayed by all components using this action.
Hides all components using this action.
Hides all components using this action.
Returns true if the components using this action are currently disabled, else returns false.
Returns true if the components using this action are currently disabled, else returns false.
Returns true if the components using this action are currently hidden, else returns false.
Returns true if the components using this action are currently hidden, else returns false.
Sets the disabled state of all components using this action. Shortcut method
for enable and disable.
Sets the disabled state of all components using this action. Shortcut method
for
enable and
disable.
Parameters
Returns
Sets the function that will be called by each Component using this action when its primary event is triggered.
Sets the function that will be called by each Component using this action when its primary event is triggered.
Parameters
- fn : Function
The function that will be invoked by the action's components. The function
will be called with no arguments.
- scope : Object
The scope (this
reference) in which the function is executed. Defaults to the Component firing the event.
Returns
Sets the hidden state of all components using this action. Shortcut method
for hide and show.
Sets the hidden state of all components using this action. Shortcut method
for
hide
and
show
.
Parameters
Returns
Sets the icon CSS class for all components using this action. The class should supply
a background image that will b...
Sets the icon CSS class for all components using this action. The class should supply
a background image that will be used as the icon image.
Parameters
Returns
Sets the text to be displayed by all components using this action.
Sets the text to be displayed by all components using this action.
Parameters
- text : String
The text to display
Returns
Shows all components using this action.
Shows all components using this action.