-<!DOCTYPE html><html><head><title>Sencha Documentation Project</title><link rel="stylesheet" href="../reset.css" type="text/css"><link rel="stylesheet" href="../prettify.css" type="text/css"><link rel="stylesheet" href="../prettify_sa.css" type="text/css"><script type="text/javascript" src="../prettify.js"></script></head><body onload="prettyPrint()"><pre class="prettyprint"><pre><span id='Ext-Action-method-constructor'><span id='Ext-Action'>/**
-</span></span> * @class Ext.Action
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>The source code</title>
+ <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
+ <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
+ <style type="text/css">
+ .highlight { display: block; background-color: #ddd; }
+ </style>
+ <script type="text/javascript">
+ function highlight() {
+ document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
+ }
+ </script>
+</head>
+<body onload="prettyPrint(); highlight();">
+ <pre class="prettyprint lang-js"><span id='Ext-Action'>/**
+</span> * @class Ext.Action
* <p>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 {@link Ext.toolbar.Toolbar}, {@link Ext.button.Button}
* <li><code>setIconCls(string)</code></li>
* <li><code>setDisabled(boolean)</code></li>
* <li><code>setVisible(boolean)</code></li>
- * <li><code>setHandler(function)</code></li></ul>.</p>
+ * <li><code>setHandler(function)</code></li></ul></p>
* <p>This allows the Action to control its associated Components.</p>
* Example usage:<br>
* <pre><code>
var aRef = btn.baseAction;
aRef.setText('New text');
</code></pre>
- * @constructor
- * @param {Object} config The configuration options
*/
Ext.define('Ext.Action', {
/* End Definitions */
<span id='Ext-Action-cfg-text'> /**
-</span> * @cfg {String} text The text to set for all components configured by this Action (defaults to '').
+</span> * @cfg {String} [text='']
+ * The text to set for all components configured by this Action.
*/
<span id='Ext-Action-cfg-iconCls'> /**
-</span> * @cfg {String} iconCls
+</span> * @cfg {String} [iconCls='']
* The CSS class selector that specifies a background image to be used as the header icon for
- * all components configured by this Action (defaults to '').
+ * all components configured by this Action.
* <p>An example of specifying a custom icon class would be something like:
* </p><pre><code>
// specify the property in the config for the class:
</code></pre>
*/
<span id='Ext-Action-cfg-disabled'> /**
-</span> * @cfg {Boolean} disabled True to disable all components configured by this Action, false to enable them (defaults to false).
+</span> * @cfg {Boolean} [disabled=false]
+ * True to disable all components configured by this Action, false to enable them.
*/
<span id='Ext-Action-cfg-hidden'> /**
-</span> * @cfg {Boolean} hidden True to hide all components configured by this Action, false to show them (defaults to false).
+</span> * @cfg {Boolean} [hidden=false]
+ * True to hide all components configured by this Action, false to show them.
*/
<span id='Ext-Action-cfg-handler'> /**
-</span> * @cfg {Function} handler The function that will be invoked by each component tied to this Action
- * when the component's primary event is triggered (defaults to undefined).
+</span> * @cfg {Function} handler
+ * The function that will be invoked by each component tied to this Action
+ * when the component's primary event is triggered.
*/
<span id='Ext-Action-cfg-itemId'> /**
</span> * @cfg {String} itemId
* See {@link Ext.Component}.{@link Ext.Component#itemId itemId}.
*/
<span id='Ext-Action-cfg-scope'> /**
-</span> * @cfg {Object} scope The scope (<code><b>this</b></code> reference) in which the
- * <code>{@link #handler}</code> is executed. Defaults to the browser window.
+</span> * @cfg {Object} scope
+ * The scope (this reference) in which the {@link #handler} is executed.
+ * Defaults to the browser window.
*/
+<span id='Ext-Action-method-constructor'> /**
+</span> * Creates new Action.
+ * @param {Object} config Config object.
+ */
constructor : function(config){
this.initialConfig = config;
this.itemId = config.itemId = (config.itemId || config.id || Ext.id());
},
<span id='Ext-Action-method-isDisabled'> /**
-</span> * Returns true if the components using this Action are currently disabled, else returns false.
+</span> * Returns true if the components using this Action are currently disabled, else returns false.
*/
isDisabled : function(){
return this.initialConfig.disabled;
// private
callEach : function(fnName, args){
- var cs = this.items;
- for(var i = 0, len = cs.length; i < len; i++){
- cs[i][fnName].apply(cs[i], args);
+ var items = this.items,
+ i = 0,
+ len = items.length;
+
+ for(; i < len; i++){
+ items[i][fnName].apply(items[i], args);
}
},
// private
removeComponent : function(comp){
- this.items.remove(comp);
+ Ext.Array.remove(this.items, comp);
},
<span id='Ext-Action-method-execute'> /**
</span> * Executes this Action manually using the handler function specified in the original config object
* or the handler function set with <code>{@link #setHandler}</code>. Any arguments passed to this
* function will be passed on to the handler function.
- * @param {Mixed} arg1 (optional) Variable number of arguments passed to the handler function
- * @param {Mixed} arg2 (optional)
- * @param {Mixed} etc... (optional)
+ * @param {Object...} args (optional) Variable number of arguments passed to the handler function
*/
execute : function(){
this.initialConfig.handler.apply(this.initialConfig.scope || Ext.global, arguments);
}
});
-</pre></pre></body></html>
\ No newline at end of file
+</pre>
+</body>
+</html>