1 <div xmlns:ext="http://www.extjs.com" class="body-wrap"><h1>Class <a href="source/Action.html#cls-Ext.Action">Ext.Action</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">Action.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/Action.html#cls-Ext.Action">Action</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info">Object</td></tr></table><div class="description"><p>An Action is a piece of reusable functionality that can be abstracted out of any particular component so that it
\r
2 can be usefully shared among multiple components. Actions let you share handlers, configuration options and UI
\r
3 updates across any components that support the Action interface (primarily <a href="output/Ext.Toolbar.html" ext:cls="Ext.Toolbar">Ext.Toolbar</a>, <a href="output/Ext.Button.html" ext:cls="Ext.Button">Ext.Button</a>
\r
4 and <a href="output/Ext.menu.Menu.html" ext:cls="Ext.menu.Menu">Ext.menu.Menu</a> components).</p>
\r
5 <p>Aside from supporting the config object interface, any component that needs to use Actions must also support
\r
6 the following method list, as these will be called as needed by the Action class: setText(string), setIconCls(string),
\r
7 setDisabled(boolean), setVisible(boolean) and setHandler(function).</p>
\r
9 <pre><code><i>// Define the shared action. Each component below will have the same
\r</i>
10 <i>// display text and icon, and will display the same message on click.
\r</i>
11 <b>var</b> action = <b>new</b> Ext.Action({
\r
12 <a href="output/Ext.Action.html#Ext.Action-text" ext:member="text" ext:cls="Ext.Action">text</a>: <em>'Do something'</em>,
\r
13 <a href="output/Ext.Action.html#Ext.Action-handler" ext:member="handler" ext:cls="Ext.Action">handler</a>: <b>function</b>(){
\r
14 Ext.Msg.alert(<em>'Click'</em>, <em>'You did something.'</em>);
\r
16 <a href="output/Ext.Action.html#Ext.Action-iconCls" ext:member="iconCls" ext:cls="Ext.Action">iconCls</a>: <em>'<b>do</b>-something'</em>,
\r
17 <a href="output/Ext.Action.html#Ext.Action-itemId" ext:member="itemId" ext:cls="Ext.Action">itemId</a>: <em>'myAction'</em>
\r
20 <b>var</b> panel = <b>new</b> Ext.Panel({
\r
21 title: <em>'Actions'</em>,
\r
25 <i>// Add the action directly to a toolbar as a menu button
\r</i>
28 text: <em>'Action Menu'</em>,
\r
29 <i>// Add the action to a menu as a text item
\r</i>
34 <i>// Add the action to the panel body as a standard button
\r</i>
35 <b>new</b> Ext.Button(action)
\r
37 renderTo: Ext.getBody()
\r
40 <i>// Change the text <b>for</b> all components using the action
\r</i>
41 action.setText(<em>'Something <b>else</b>'</em>);
\r
43 <i>// Reference an action through a container using the itemId
\r</i>
44 <b>var</b> btn = panel.getComponent(<em>'myAction'</em>);
\r
45 <b>var</b> aRef = btn.baseAction;
\r
46 aRef.setText(<em>'New text'</em>);</code></pre></div><div class="hr"></div><a id="Ext.Action-configs"></a><h2>Config Options</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Config Options</th><th class="msource-header">Defined By</th></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-disabled"></a><b><a href="source/Action.html#cfg-Ext.Action-disabled">disabled</a></b> : Boolean<div class="mdesc">True to disable all components using this action, false to enable them (defaults to false).</div></td><td class="msource">Action</td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-handler"></a><b><a href="source/Action.html#cfg-Ext.Action-handler">handler</a></b> : Function<div class="mdesc"><div class="short">The function that will be invoked by each component tied to this action
\r
47 when the component's primary event is trigge...</div><div class="long">The function that will be invoked by each component tied to this action
\r
48 when the component's primary event is triggered (defaults to undefined).</div></div></td><td class="msource">Action</td></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-hidden"></a><b><a href="source/Action.html#cfg-Ext.Action-hidden">hidden</a></b> : Boolean<div class="mdesc">True to hide all components using this action, false to show them (defaults to false).</div></td><td class="msource">Action</td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-iconCls"></a><b><a href="source/Action.html#cfg-Ext.Action-iconCls">iconCls</a></b> : String<div class="mdesc"><div class="short">The CSS class selector that specifies a background image to be used as the header icon for
\r
49 all components using this...</div><div class="long">The CSS class selector that specifies a background image to be used as the header icon for
\r
50 all components using this action (defaults to '').
\r
51 <p>An example of specifying a custom icon class would be something like:
\r
52 </p><pre><code><i>// specify the property <b>in</b> the config <b>for</b> the class:
\r</i>
54 iconCls: <em>'<b>do</b>-something'</em>
\r
56 <i>// css class that specifies background image to be used as the icon image:
\r</i>
57 .<b>do</b>-something { background-image: url(../images/my-icon.gif) 0 6px no-repeat !important; }</code></pre></div></div></td><td class="msource">Action</td></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-itemId"></a><b><a href="source/Action.html#cfg-Ext.Action-itemId">itemId</a></b> : String<div class="mdesc">See <a href="output/Ext.Component.html" ext:cls="Ext.Component">Ext.Component</a>.<a href="output/Ext.Component.html#Ext.Component-itemId" ext:member="itemId" ext:cls="Ext.Component">itemId</a>.</div></td><td class="msource">Action</td></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-scope"></a><b><a href="source/Action.html#cfg-Ext.Action-scope">scope</a></b> : Object<div class="mdesc">The scope (<tt><b>this</b></tt> reference) in which the
\r
58 <code><a href="output/Ext.Action.html#Ext.Action-handler" ext:member="handler" ext:cls="Ext.Action">handler</a></code> is executed. Defaults to this Button.</div></td><td class="msource">Action</td></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-text"></a><b><a href="source/Action.html#cfg-Ext.Action-text">text</a></b> : String<div class="mdesc">The text to set for all components using this action (defaults to '').</div></td><td class="msource">Action</td></tr></tbody></table><a id="Ext.Action-props"></a><h2>Public Properties</h2><div class="no-members">This class has no public properties.</div><a id="Ext.Action-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-Action"></a><b><a href="source/Action.html#cls-Ext.Action">Action</a></b>( <code>Object config</code> )
\r
59 <div class="mdesc"><div class="short"></div><div class="long"><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>config</code> : Object<div class="sub-desc">The configuration options</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-disable"></a><b><a href="source/Action.html#method-Ext.Action-disable">disable</a></b>()
\r
61 void<div class="mdesc"><div class="short">Disables all components using this action.</div><div class="long">Disables all components using this action.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-each"></a><b><a href="source/Action.html#method-Ext.Action-each">each</a></b>( <code>Function fn</code>, <code>Object scope</code> )
\r
63 void<div class="mdesc"><div class="short">Executes the specified function once for each Component currently tied to this action. The function passed
\r
64 in shoul...</div><div class="long">Executes the specified function once for each Component currently tied to this action. The function passed
\r
65 in should accept a single argument that will be an object that supports the basic Action config/method interface.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>fn</code> : Function<div class="sub-desc">The function to execute for each component</div></li><li><code>scope</code> : Object<div class="sub-desc">The scope (<code>this</code> reference) in which the function is executed. Defaults to the Component.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-enable"></a><b><a href="source/Action.html#method-Ext.Action-enable">enable</a></b>()
\r
67 void<div class="mdesc"><div class="short">Enables all components using this action.</div><div class="long">Enables all components using this action.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-execute"></a><b><a href="source/Action.html#method-Ext.Action-execute">execute</a></b>( <span title="Optional" class="optional">[<code>Mixed arg1</code>]</span>, <span title="Optional" class="optional">[<code>Mixed arg2</code>]</span>, <span title="Optional" class="optional">[<code>Mixed etc...</code>]</span> )
\r
69 void<div class="mdesc"><div class="short">Executes this action manually using the handler function specified in the original config object
\r
70 or the handler func...</div><div class="long">Executes this action manually using the handler function specified in the original config object
\r
71 or the handler function set with <code><a href="output/Ext.Action.html#Ext.Action-setHandler" ext:member="setHandler" ext:cls="Ext.Action">setHandler</a></code>. Any arguments passed to this
\r
72 function will be passed on to the handler function.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>arg1</code> : Mixed<div class="sub-desc">(optional) Variable number of arguments passed to the handler function</div></li><li><code>arg2</code> : Mixed<div class="sub-desc">(optional)</div></li><li><code>etc...</code> : Mixed<div class="sub-desc">(optional)</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-getIconClass"></a><b><a href="source/Action.html#method-Ext.Action-getIconClass">getIconClass</a></b>()
\r
74 void<div class="mdesc"><div class="short">Gets the icon CSS class currently used by all components using this action.</div><div class="long">Gets the icon CSS class currently used by all components using this action.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-getText"></a><b><a href="source/Action.html#method-Ext.Action-getText">getText</a></b>()
\r
76 void<div class="mdesc"><div class="short">Gets the text currently displayed by all components using this action.</div><div class="long">Gets the text currently displayed by all components using this action.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-hide"></a><b><a href="source/Action.html#method-Ext.Action-hide">hide</a></b>()
\r
78 void<div class="mdesc"><div class="short">Hides all components using this action.</div><div class="long">Hides all components using this action.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-isDisabled"></a><b><a href="source/Action.html#method-Ext.Action-isDisabled">isDisabled</a></b>()
\r
80 void<div class="mdesc"><div class="short">Returns true if the components using this action are currently disabled, else returns false.</div><div class="long">Returns true if the components using this action are currently disabled, else returns false.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-isHidden"></a><b><a href="source/Action.html#method-Ext.Action-isHidden">isHidden</a></b>()
\r
82 void<div class="mdesc"><div class="short">Returns true if the components using this action are currently hidden, else returns false.</div><div class="long">Returns true if the components using this action are currently hidden, else returns false.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-setDisabled"></a><b><a href="source/Action.html#method-Ext.Action-setDisabled">setDisabled</a></b>( <code>Boolean disabled</code> )
\r
84 void<div class="mdesc"><div class="short">Sets the disabled state of all components using this action. Shortcut method
\r
85 for enable and disable.</div><div class="long">Sets the disabled state of all components using this action. Shortcut method
\r
86 for <a href="output/Ext.Action.html#Ext.Action-enable" ext:member="enable" ext:cls="Ext.Action">enable</a> and <a href="output/Ext.Action.html#Ext.Action-disable" ext:member="disable" ext:cls="Ext.Action">disable</a>.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>disabled</code> : Boolean<div class="sub-desc">True to disable the component, false to enable it</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-setHandler"></a><b><a href="source/Action.html#method-Ext.Action-setHandler">setHandler</a></b>( <code>Function fn</code>, <code>Object scope</code> )
\r
88 void<div class="mdesc"><div class="short">Sets the function that will be called by each Component using this action when its primary event is triggered.</div><div class="long">Sets the function that will be called by each Component using this action when its primary event is triggered.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>fn</code> : Function<div class="sub-desc">The function that will be invoked by the action's components. The function
\r
89 will be called with no arguments.</div></li><li><code>scope</code> : Object<div class="sub-desc">The scope (<code>this</code> reference) in which the function is executed. Defaults to the Component firing the event.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-setHidden"></a><b><a href="source/Action.html#method-Ext.Action-setHidden">setHidden</a></b>( <code>Boolean hidden</code> )
\r
91 void<div class="mdesc"><div class="short">Sets the hidden state of all components using this action. Shortcut method
\r
92 for hide and show.</div><div class="long">Sets the hidden state of all components using this action. Shortcut method
\r
93 for <code><a href="output/Ext.Action.html#Ext.Action-hide" ext:member="hide" ext:cls="Ext.Action">hide</a></code> and <code><a href="output/Ext.Action.html#Ext.Action-show" ext:member="show" ext:cls="Ext.Action">show</a></code>.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>hidden</code> : Boolean<div class="sub-desc">True to hide the component, false to show it</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-setIconClass"></a><b><a href="source/Action.html#method-Ext.Action-setIconClass">setIconClass</a></b>( <code>String cls</code> )
\r
95 void<div class="mdesc"><div class="short">Sets the icon CSS class for all components using this action. The class should supply
\r
96 a background image that will ...</div><div class="long">Sets the icon CSS class for all components using this action. The class should supply
\r
97 a background image that will be used as the icon image.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>cls</code> : String<div class="sub-desc">The CSS class supplying the icon image</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-setText"></a><b><a href="source/Action.html#method-Ext.Action-setText">setText</a></b>( <code>String text</code> )
\r
99 void<div class="mdesc"><div class="short">Sets the text to be displayed by all components using this action.</div><div class="long">Sets the text to be displayed by all components using this action.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>text</code> : String<div class="sub-desc">The text to display</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Action-show"></a><b><a href="source/Action.html#method-Ext.Action-show">show</a></b>()
\r
101 void<div class="mdesc"><div class="short">Shows all components using this action.</div><div class="long">Shows all components using this action.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Action</td></tr></tbody></table><a id="Ext.Action-events"></a><h2>Public Events</h2><div class="no-members">This class has no public events.</div></div>