Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / docs / api / Ext.grid.feature.Grouping.html
1 <!DOCTYPE html><html><head><title>Ext.grid.feature.Grouping | Ext JS 4.0 Documentation</title><script type="text/javascript" src="../ext-all.js"></script><link rel="stylesheet" href="../reset.css" type="text/css"><link rel="stylesheet" href="../scrollbars.css" type="text/css"><link rel="stylesheet" href="../docs.css" type="text/css"><link id="styleCss" rel="stylesheet" href="../style.css" type="text/css"><script type="text/javascript" src="../prettify.js"></script><link rel="stylesheet" href="../prettify.css" type="text/css"><!-- link(rel: 'stylesheet', href: req.baseURL + '/css/ext4.css', type: 'text/css')--><link rel="shortcut icon" type="image/ico" href="../favicon.ico"><!--[if IE]>
2 <style type="text/css">.head-band { display: none; }
3 .header { border: 0; top: 0; left: 0px; background: url(../header.gif) repeat-x; }
4 .doc-tab .members .member a.more { background-color: #efefef; }
5 </style><link rel="stylesheet" href="/new/css/ie.css" type="text/css"><![endif]-->
6 </head><body id="ext-body" class="iScroll"><div id="notice" class="notice">For up to date documentation and features, visit 
7 <a href="http://docs.sencha.com/ext-js/4-0">http://docs.sencha.com/ext-js/4-0</a></div><div class="wrapper"><div class="head-band"></div><div class="header"><h2><a href="../index.html">Sencha Documentation</a></h2></div><div id="search"><form><input type="text" placeholder="Search" id="search-field" autocomplete="off" name="q"></form><div id="search-box"></div></div><div id="treePanel"></div><div id="container"><script type="text/javascript">
8
9     req = {
10         liveURL: '.',
11         standAloneMode: true,
12         origDocClass: 'Ext.grid.feature.Grouping',
13         docClass: 'Ext.grid.feature.Grouping',
14         docReq: 'Ext.grid.feature.Grouping',
15         version: '4.0',
16         baseURL: '.',
17         baseDocURL: '.',
18         baseProdURL: '.'
19     };
20
21     clsInfo = {};
22
23
24
25 </script>
26
27 <script type="text/javascript" src="../search.js"></script>
28 <!--script type="text/javascript" src="/new/javascripts/app/examples.js"></script-->
29 <script type="text/javascript" src="../class_tree.js"></script>
30 <script type="text/javascript" src="../class_doc.js"></script>
31 <script type="text/javascript">
32     req.source = 'Grouping.html#Ext-grid.feature.Grouping';
33     clsInfo = {"methods":["addEvents","addListener","addManagedListener","attachEvents","capture","clearListeners","clearManagedListeners","disable","enable","enableBubble","fireEvent","getAdditionalData","getFireEventArgs","getMetaRowTplFragments","hasListener","mutateMetaRowTpl","observe","on","relayEvents","releaseCapture","removeListener","removeManagedListener","resumeEvents","suspendEvents","un"],"cfgs":["depthToIndent","enableGroupingMenu","enableNoGroups","groupByText","groupHeaderTpl","hideGroupedHeader","listeners","showGroupsText","startCollapsed"],"properties":["collectData","eventPrefix","eventSelector","grid","hasFeatureEvent","view"],"events":["groupclick","groupcollapse","groupcontextmenu","groupdblclick","groupexpand"],"subclasses":["Ext.grid.feature.GroupingSummary"]};
34     Ext.onReady(function() {
35         Ext.create('Docs.classPanel');
36     });
37 </script><div id="top-block" class="top-block"><h1 id="clsTitle" class="cls"><a href="../source/Grouping.html#Ext-grid.feature.Grouping" target="_blank">Ext.grid.feature.Grouping</a></h1></div><div id="docContent"><div id="doc-overview-content"><div class="lft"><pre class="subclasses"><h4>Hierarchy</h4><div class="subclass f"><a href="Ext.util.Observable.html" rel="Ext.util.Observable" class="cls docClass">Ext.util.Observable</a><div class="subclass"><a href="Ext.grid.feature.Feature.html" rel="Ext.grid.feature.Feature" class="cls docClass">Ext.grid.feature.Feature</a><div class="subclass"><strong>Ext.grid.feature.Grouping</strong></div></div></div></pre><p>This feature allows to display the grid rows aggregated into groups as specified by the <a href="Ext.data.Store.html#groupers" rel="Ext.data.Store#groupers" class="docClass">Ext.data.Store.groupers</a>
38 specified on the Store. The group will show the title for the group name and then the appropriate records for the group
39 underneath. The groups can also be expanded and collapsed.</p>
40
41 <h2>Extra Events</h2>
42
43 <p>This feature adds several extra events that will be fired on the grid to interact with the groups:</p>
44
45 <ul>
46 <li><a href="Ext.grid.feature.Grouping.html#groupclick" rel="Ext.grid.feature.Grouping#groupclick" class="docClass">groupclick</a></li>
47 <li><a href="Ext.grid.feature.Grouping.html#groupdblclick" rel="Ext.grid.feature.Grouping#groupdblclick" class="docClass">groupdblclick</a></li>
48 <li><a href="Ext.grid.feature.Grouping.html#groupcontextmenu" rel="Ext.grid.feature.Grouping#groupcontextmenu" class="docClass">groupcontextmenu</a></li>
49 <li><a href="Ext.grid.feature.Grouping.html#groupexpand" rel="Ext.grid.feature.Grouping#groupexpand" class="docClass">groupexpand</a></li>
50 <li><a href="Ext.grid.feature.Grouping.html#groupcollapse" rel="Ext.grid.feature.Grouping#groupcollapse" class="docClass">groupcollapse</a></li>
51 </ul>
52
53
54 <h2>Menu Augmentation</h2>
55
56 <p>This feature adds extra options to the grid column menu to provide the user with functionality to modify the grouping.
57 This can be disabled by setting the <a href="Ext.grid.feature.Grouping.html#enableGroupingMenu" rel="Ext.grid.feature.Grouping#enableGroupingMenu" class="docClass">enableGroupingMenu</a> option. The option to disallow grouping from being turned off
58 by thew user is <a href="Ext.grid.feature.Grouping.html#enableNoGroups" rel="Ext.grid.feature.Grouping#enableNoGroups" class="docClass">enableNoGroups</a>.</p>
59
60 <h2>Controlling Group Text</h2>
61
62 <p>The <a href="Ext.grid.feature.Grouping.html#groupHeaderTpl" rel="Ext.grid.feature.Grouping#groupHeaderTpl" class="docClass">groupHeaderTpl</a> is used to control the rendered title for each group. It can modified to customized
63 the default display.</p>
64
65 <h2>Example Usage</h2>
66
67 <pre class="prettyprint"><code>var groupingFeature = Ext.create('Ext.grid.feature.Grouping', {
68     groupHeaderTpl: 'Group: {name} ({rows.length})', //print the number of items in the group
69     startCollapsed: true // start all groups collapsed
70 });
71 </code></pre>
72 <div class="members"><div class="m-cfgs"><div class="definedBy">Defined By</div><a name="configs"></a><h3 class="cfg p">Config Options</h3><h4 class="cfgGroup">Other Configs</h4><div id="config-depthToIndent" class="member f ni"><a href="Ext.grid.feature.Grouping.html#config-depthToIndent" rel="config-depthToIndent" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-cfg-depthToIndent" class="viewSource">view source</a></div><a name="depthToIndent"></a><a name="config-depthToIndent"></a><a href="Ext.grid.feature.Grouping.html#" rel="config-depthToIndent" class="cls expand">depthToIndent</a><span> : Number</span></div><div class="description"><div class="short"><p>Number of pixels to indent per grouping level</p>
73 </div><div class="long"><p>Number of pixels to indent per grouping level</p>
74 </div></div></div><div id="config-enableGroupingMenu" class="member ni"><a href="Ext.grid.feature.Grouping.html#config-enableGroupingMenu" rel="config-enableGroupingMenu" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-cfg-enableGroupingMenu" class="viewSource">view source</a></div><a name="enableGroupingMenu"></a><a name="config-enableGroupingMenu"></a><a href="Ext.grid.feature.Grouping.html#" rel="config-enableGroupingMenu" class="cls expand">enableGroupingMenu</a><span> : Boolean</span></div><div class="description"><div class="short"><p><tt>true</tt> to enable the grouping control in the header menu (defaults to <tt>true</tt>)</p>
75 </div><div class="long"><p><tt>true</tt> to enable the grouping control in the header menu (defaults to <tt>true</tt>)</p>
76 </div></div></div><div id="config-enableNoGroups" class="member ni"><a href="Ext.grid.feature.Grouping.html#config-enableNoGroups" rel="config-enableNoGroups" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-cfg-enableNoGroups" class="viewSource">view source</a></div><a name="enableNoGroups"></a><a name="config-enableNoGroups"></a><a href="Ext.grid.feature.Grouping.html#" rel="config-enableNoGroups" class="cls expand">enableNoGroups</a><span> : Boolean</span></div><div class="description"><div class="short"><p><tt>true</tt> to allow the user to turn off grouping (defaults to <tt>true</tt>)</p>
77 </div><div class="long"><p><tt>true</tt> to allow the user to turn off grouping (defaults to <tt>true</tt>)</p>
78 </div></div></div><div id="config-groupByText" class="member ni"><a href="Ext.grid.feature.Grouping.html#config-groupByText" rel="config-groupByText" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-cfg-groupByText" class="viewSource">view source</a></div><a name="groupByText"></a><a name="config-groupByText"></a><a href="Ext.grid.feature.Grouping.html#" rel="config-groupByText" class="cls expand">groupByText</a><span> : String</span></div><div class="description"><div class="short"><p>Text displayed in the grid header menu for grouping by header
79 (defaults to 'Group By This Field').</p>
80 </div><div class="long"><p>Text displayed in the grid header menu for grouping by header
81 (defaults to 'Group By This Field').</p>
82 </div></div></div><div id="config-groupHeaderTpl" class="member ni"><a href="Ext.grid.feature.Grouping.html#config-groupHeaderTpl" rel="config-groupHeaderTpl" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-cfg-groupHeaderTpl" class="viewSource">view source</a></div><a name="groupHeaderTpl"></a><a name="config-groupHeaderTpl"></a><a href="Ext.grid.feature.Grouping.html#" rel="config-groupHeaderTpl" class="cls expand">groupHeaderTpl</a><span> : String</span></div><div class="description"><div class="short">Template snippet, this cannot be an actual template. {name} will be replaced with the current group.
83 Defaults to 'Gro...</div><div class="long"><p>Template snippet, this cannot be an actual template. {name} will be replaced with the current group.
84 Defaults to 'Group: {name}'</p>
85 </div></div></div><div id="config-hideGroupedHeader" class="member ni"><a href="Ext.grid.feature.Grouping.html#config-hideGroupedHeader" rel="config-hideGroupedHeader" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-cfg-hideGroupedHeader" class="viewSource">view source</a></div><a name="hideGroupedHeader"></a><a name="config-hideGroupedHeader"></a><a href="Ext.grid.feature.Grouping.html#" rel="config-hideGroupedHeader" class="cls expand">hideGroupedHeader</a><span> : Boolean</span></div><div class="description"><div class="short"><p><tt>true</tt> to hide the header that is currently grouped (defaults to <tt>false</tt>)</p>
86 </div><div class="long"><p><tt>true</tt> to hide the header that is currently grouped (defaults to <tt>false</tt>)</p>
87 </div></div></div><div id="config-listeners" class="member inherited"><a href="Ext.grid.feature.Grouping.html#config-listeners" rel="config-listeners" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-cfg-listeners" class="viewSource">view source</a></div><a name="listeners"></a><a name="config-listeners"></a><a href="Ext.grid.feature.Grouping.html#" rel="config-listeners" class="cls expand">listeners</a><span> : Object</span></div><div class="description"><div class="short">(optional) A config object containing one or more event handlers to be added to this
88 object during initialization.  T...</div><div class="long"><p>(optional) <p>A config object containing one or more event handlers to be added to this
89 object during initialization.  This should be a valid listeners config object as specified in the
90 <a href="Ext.grid.feature.Grouping.html#addListener" rel="Ext.grid.feature.Grouping#addListener" class="docClass">addListener</a> example for attaching multiple handlers at once.</p></p>
91
92 <br><p><b><u>DOM events from ExtJs <a href="Ext.Component.html" rel="Ext.Component" class="docClass">Components</a></u></b></p>
93
94
95 <br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this
96
97
98 <p>is usually only done when extra value can be added. For example the <a href="Ext.view.View.html" rel="Ext.view.View" class="docClass">DataView</a>'s
99 <b><code><a href="Ext.view.View.html#click" rel="Ext.view.View#click" class="docClass">click</a></code></b> event passing the node clicked on. To access DOM
100 events directly from a child element of a Component, we need to specify the <code>element</code> option to
101 identify the Component property to add a DOM listener to:</p>
102
103 <pre><code>new Ext.panel.Panel({
104     width: 400,
105     height: 200,
106     dockedItems: [{
107         xtype: 'toolbar'
108     }],
109     listeners: {
110         click: {
111             element: 'el', //bind to the underlying el property on the panel
112             fn: function(){ console.log('click el'); }
113         },
114         dblclick: {
115             element: 'body', //bind to the underlying body property on the panel
116             fn: function(){ console.log('dblclick body'); }
117         }
118     }
119 });
120 </code></pre>
121
122
123 <p></p></p>
124 </div></div></div><div id="config-showGroupsText" class="member ni"><a href="Ext.grid.feature.Grouping.html#config-showGroupsText" rel="config-showGroupsText" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-cfg-showGroupsText" class="viewSource">view source</a></div><a name="showGroupsText"></a><a name="config-showGroupsText"></a><a href="Ext.grid.feature.Grouping.html#" rel="config-showGroupsText" class="cls expand">showGroupsText</a><span> : String</span></div><div class="description"><div class="short"><p>Text displayed in the grid header for enabling/disabling grouping
125 (defaults to 'Show in Groups').</p>
126 </div><div class="long"><p>Text displayed in the grid header for enabling/disabling grouping
127 (defaults to 'Show in Groups').</p>
128 </div></div></div><div id="config-startCollapsed" class="member ni"><a href="Ext.grid.feature.Grouping.html#config-startCollapsed" rel="config-startCollapsed" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-cfg-startCollapsed" class="viewSource">view source</a></div><a name="startCollapsed"></a><a name="config-startCollapsed"></a><a href="Ext.grid.feature.Grouping.html#" rel="config-startCollapsed" class="cls expand">startCollapsed</a><span> : Boolean</span></div><div class="description"><div class="short"><p><tt>true</tt> to start all groups collapsed (defaults to <tt>false</tt>)</p>
129 </div><div class="long"><p><tt>true</tt> to start all groups collapsed (defaults to <tt>false</tt>)</p>
130 </div></div></div></div><div class="m-properties"><a name="properties"></a><div class="definedBy">Defined By</div><h3 class="prp p">Properties</h3><div id="property-collectData" class="member f inherited"><a href="Ext.grid.feature.Grouping.html#property-collectData" rel="property-collectData" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-property-collectData" class="viewSource">view source</a></div><a name="collectData"></a><a name="property-collectData"></a><a href="Ext.grid.feature.Grouping.html#" rel="property-collectData" class="cls expand">collectData</a><span> : Boolean</span></div><div class="description"><div class="short">Most features will not modify the data returned to the view.
131 This is limited to one feature that manipulates the data...</div><div class="long"><p>Most features will not modify the data returned to the view.
132 This is limited to one feature that manipulates the data per grid view.</p>
133 </div></div></div><div id="property-eventPrefix" class="member inherited"><a href="Ext.grid.feature.Grouping.html#property-eventPrefix" rel="property-eventPrefix" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-property-eventPrefix" class="viewSource">view source</a></div><a name="eventPrefix"></a><a name="property-eventPrefix"></a><a href="Ext.grid.feature.Grouping.html#" rel="property-eventPrefix" class="cls expand">eventPrefix</a><span> : String</span></div><div class="description"><div class="short">Prefix to use when firing events on the view.
134 For example a prefix of group would expose "groupclick", "groupcontextm...</div><div class="long"><p>Prefix to use when firing events on the view.
135 For example a prefix of group would expose "groupclick", "groupcontextmenu", "groupdblclick".</p>
136 </div></div></div><div id="property-eventSelector" class="member inherited"><a href="Ext.grid.feature.Grouping.html#property-eventSelector" rel="property-eventSelector" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-property-eventSelector" class="viewSource">view source</a></div><a name="eventSelector"></a><a name="property-eventSelector"></a><a href="Ext.grid.feature.Grouping.html#" rel="property-eventSelector" class="cls expand">eventSelector</a><span> : String</span></div><div class="description"><div class="short"><p>Selector used to determine when to fire the event with the eventPrefix.</p>
137 </div><div class="long"><p>Selector used to determine when to fire the event with the eventPrefix.</p>
138 </div></div></div><div id="property-grid" class="member inherited"><a href="Ext.grid.feature.Grouping.html#property-grid" rel="property-grid" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-property-grid" class="viewSource">view source</a></div><a name="grid"></a><a name="property-grid"></a><a href="Ext.grid.feature.Grouping.html#" rel="property-grid" class="cls expand">grid</a><span> : Ext.grid.Panel</span></div><div class="description"><div class="short"><p>Reference to the grid panel</p>
139 </div><div class="long"><p>Reference to the grid panel</p>
140 </div></div></div><div id="property-hasFeatureEvent" class="member inherited"><a href="Ext.grid.feature.Grouping.html#property-hasFeatureEvent" rel="property-hasFeatureEvent" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-property-hasFeatureEvent" class="viewSource">view source</a></div><a name="hasFeatureEvent"></a><a name="property-hasFeatureEvent"></a><a href="Ext.grid.feature.Grouping.html#" rel="property-hasFeatureEvent" class="cls expand">hasFeatureEvent</a><span> : Boolean</span></div><div class="description"><div class="short"><p>Most features will expose additional events, some may not and will
141 need to change this to false.</p>
142 </div><div class="long"><p>Most features will expose additional events, some may not and will
143 need to change this to false.</p>
144 </div></div></div><div id="property-view" class="member inherited"><a href="Ext.grid.feature.Grouping.html#property-view" rel="property-view" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-property-view" class="viewSource">view source</a></div><a name="view"></a><a name="property-view"></a><a href="Ext.grid.feature.Grouping.html#" rel="property-view" class="cls expand">view</a><span> : Ext.view.Table</span></div><div class="description"><div class="short"><p>Reference to the TableView.</p>
145 </div><div class="long"><p>Reference to the TableView.</p>
146 </div></div></div></div><div class="m-methods"><a name="methods"></a><div class="definedBy">Defined By</div><h3 class="mth p">Methods</h3><div id="method-addEvents" class="member f inherited"><a href="Ext.grid.feature.Grouping.html#method-addEvents" rel="method-addEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-addEvents" class="viewSource">view source</a></div><a name="addEvents"></a><a name="method-addEvents"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-addEvents" class="cls expand">addEvents</a>(
147 <span class="pre">Object/String o, String </span>)
148  : void</div><div class="description"><div class="short"><p>Adds the specified events to the list of events which this Observable may fire.</p>
149 </div><div class="long"><p>Adds the specified events to the list of events which this Observable may fire.</p>
150 <h3 class="pa">Parameters</h3><ul><li><span class="pre">o</span> : Object/String<div class="sub-desc"><p>Either an object with event names as properties with a value of <code>true</code>
151 or the first event name string if multiple event names are being passed as separate parameters.</p>
152 </div></li><li><span class="pre"></span> : String<div class="sub-desc"><p>[additional] Optional additional event names if multiple event names are being passed as separate parameters.
153 Usage:</p>
154
155 <pre><code>this.addEvents('storeloaded', 'storecleared');
156 </code></pre>
157
158 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
159 </li></ul></div></div></div><div id="method-addListener" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-addListener" rel="method-addListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-addListener" class="viewSource">view source</a></div><a name="addListener"></a><a name="method-addListener"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-addListener" class="cls expand">addListener</a>(
160 <span class="pre">String eventName, Function handler, [Object scope], [Object options]</span>)
161  : void</div><div class="description"><div class="short"><p>Appends an event handler to this object.</p>
162 </div><div class="long"><p>Appends an event handler to this object.</p>
163 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The name of the event to listen for. May also be an object who's property names are event names. See</p>
164 </div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The method the event invokes.</p>
165 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
166 <b>If omitted, defaults to the object which fired the event.</b></p>
167 </div></li><li><span class="pre">options</span> : Object<div class="sub-desc"><p>(optional) An object containing handler configuration.
168 properties. This may contain any of the following properties:<ul>
169 <li><b>scope</b> : Object<div class="sub-desc">The scope (<code><b>this</b></code> reference) in which the handler function is executed.
170 <b>If omitted, defaults to the object which fired the event.</b></div></li>
171 <li><b>delay</b> : Number<div class="sub-desc">The number of milliseconds to delay the invocation of the handler after the event fires.</div></li>
172 <li><b>single</b> : Boolean<div class="sub-desc">True to add a handler to handle just the next firing of the event, and then remove itself.</div></li>
173 <li><b>buffer</b> : Number<div class="sub-desc">Causes the handler to be scheduled to run in an <a href="Ext.util.DelayedTask.html" rel="Ext.util.DelayedTask" class="docClass">Ext.util.DelayedTask</a> delayed
174 by the specified number of milliseconds. If the event fires again within that time, the original
175 handler is <em>not</em> invoked, but the new handler is scheduled in its place.</div></li>
176 <li><b>target</b> : Observable<div class="sub-desc">Only call the handler if the event was fired on the target Observable, <i>not</i>
177 if the event was bubbled up from a child Observable.</div></li>
178 <li><b>element</b> : String<div class="sub-desc"><b>This option is only valid for listeners bound to <a href="Ext.Component.html" rel="Ext.Component" class="docClass">Components</a>.</b>
179 The name of a Component property which references an element to add a listener to.</p>
180
181 <p>This option is useful during Component construction to add DOM event listeners to elements of <a href="Ext.Component.html" rel="Ext.Component" class="docClass">Components</a> which
182 will exist only after the Component is rendered. For example, to add a click listener to a Panel's body:
183 <pre><code>new Ext.panel.Panel({
184     title: 'The title',
185     listeners: {
186         click: this.handlePanelClick,
187         element: 'body'
188     }
189 });
190 </code></pre></p>
191
192
193 <p>When added in this way, the options available are the options applicable to <a href="Ext.core.Element.html#addListener" rel="Ext.core.Element#addListener" class="docClass">Ext.core.Element.addListener</a></p>
194
195
196 <p></div></li>
197 </ul><br></p>
198
199 <p>
200 <b>Combining Options</b><br>
201 Using the options argument, it is possible to combine different types of listeners:<br>
202 <br>
203 A delayed, one-time listener.
204 <pre><code>myPanel.on('hide', this.handleClick, this, {
205 single: true,
206 delay: 100
207 });</code></pre>
208 <p>
209 <b>Attaching multiple handlers in 1 call</b><br>
210 The method also allows for a single argument to be passed which is a config object containing properties
211 which specify multiple events. For example:
212 <pre><code>myGridPanel.on({
213     cellClick: this.onCellClick,
214     mouseover: this.onMouseOver,
215     mouseout: this.onMouseOut,
216     scope: this // Important. Ensure "this" is correct during handler execution
217 });
218 </code></pre>.
219 <p>
220
221 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
222 </li></ul></div></div></div><div id="method-addManagedListener" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-addManagedListener" rel="method-addManagedListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-addManagedListener" class="viewSource">view source</a></div><a name="addManagedListener"></a><a name="method-addManagedListener"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-addManagedListener" class="cls expand">addManagedListener</a>(
223 <span class="pre">Observable/Element item, Object/String ename, Function fn, Object scope, Object opt</span>)
224  : void</div><div class="description"><div class="short"><p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component
225 is destroyed.
226
227 </div><div class="long"><p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component
228 is destroyed.
229
230 <h3 class="pa">Parameters</h3><ul><li><span class="pre">item</span> : Observable/Element<div class="sub-desc"><p>The item to which to add a listener/listeners.</p>
231 </div></li><li><span class="pre">ename</span> : Object/String<div class="sub-desc"><p>The event name, or an object containing event name properties.</p>
232 </div></li><li><span class="pre">fn</span> : Function<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
233 is the handler function.</p>
234 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
235 is the scope (<code>this</code> reference) in which the handler function is executed.</p>
236 </div></li><li><span class="pre">opt</span> : Object<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
237 is the <a href="Ext.util.Observable.html#addListener" rel="Ext.util.Observable#addListener" class="docClass">addListener</a> options.</p>
238 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
239 </li></ul></div></div></div><div id="method-attachEvents" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-attachEvents" rel="method-attachEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-method-attachEvents" class="viewSource">view source</a></div><a name="attachEvents"></a><a name="method-attachEvents"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-attachEvents" class="cls expand">attachEvents</a> : void</div><div class="description"><div class="short"><p>Approriate place to attach events to the view, selectionmodel, headerCt, etc</p>
240 </div><div class="long"><p>Approriate place to attach events to the view, selectionmodel, headerCt, etc</p>
241 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
242 </li></ul></div></div></div><div id="method-capture" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-capture" rel="method-capture" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-capture" class="viewSource">view source</a></div><a name="capture"></a><a name="method-capture"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-capture" class="cls expand">capture</a>(
243 <span class="pre">Observable o, Function fn, [Object scope]</span>)
244  : void</div><div class="description"><div class="short">Starts capture on the specified Observable. All events will be passed
245 to the supplied function with the event name + ...</div><div class="long"><p>Starts capture on the specified Observable. All events will be passed
246 to the supplied function with the event name + standard signature of the event
247 <b>before</b> the event is fired. If the supplied function returns false,
248 the event will not fire.</p>
249 <h3 class="pa">Parameters</h3><ul><li><span class="pre">o</span> : Observable<div class="sub-desc"><p>The Observable to capture events from.</p>
250 </div></li><li><span class="pre">fn</span> : Function<div class="sub-desc"><p>The function to call when an event is fired.</p>
251 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to the Observable firing the event.</p>
252 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
253 </li></ul></div></div></div><div id="method-clearListeners" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-clearListeners" rel="method-clearListeners" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-clearListeners" class="viewSource">view source</a></div><a name="clearListeners"></a><a name="method-clearListeners"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-clearListeners" class="cls expand">clearListeners</a> : void</div><div class="description"><div class="short"><p>Removes all listeners for this object including the managed listeners</p>
254 </div><div class="long"><p>Removes all listeners for this object including the managed listeners</p>
255 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
256 </li></ul></div></div></div><div id="method-clearManagedListeners" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-clearManagedListeners" rel="method-clearManagedListeners" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-clearManagedListeners" class="viewSource">view source</a></div><a name="clearManagedListeners"></a><a name="method-clearManagedListeners"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-clearManagedListeners" class="cls expand">clearManagedListeners</a> : void</div><div class="description"><div class="short"><p>Removes all managed listeners for this object.</p>
257 </div><div class="long"><p>Removes all managed listeners for this object.</p>
258 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
259 </li></ul></div></div></div><div id="method-disable" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-disable" rel="method-disable" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-method-disable" class="viewSource">view source</a></div><a name="disable"></a><a name="method-disable"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-disable" class="cls expand">disable</a> : void</div><div class="description"><div class="short"><p>Disable a feature</p>
260 </div><div class="long"><p>Disable a feature</p>
261 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
262 </li></ul></div></div></div><div id="method-enable" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-enable" rel="method-enable" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-method-enable" class="viewSource">view source</a></div><a name="enable"></a><a name="method-enable"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-enable" class="cls expand">enable</a> : void</div><div class="description"><div class="short"><p>Enable a feature</p>
263 </div><div class="long"><p>Enable a feature</p>
264 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
265 </li></ul></div></div></div><div id="method-enableBubble" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-enableBubble" rel="method-enableBubble" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-enableBubble" class="viewSource">view source</a></div><a name="enableBubble"></a><a name="method-enableBubble"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-enableBubble" class="cls expand">enableBubble</a>(
266 <span class="pre">String/Array events</span>)
267  : void</div><div class="description"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling
268 this.getBubbleTarget() if present....</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling
269 <code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>
270
271
272 <p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href="Ext.Component.html#getBubbleTarget" rel="Ext.Component#getBubbleTarget" class="docClass">Ext.Component.getBubbleTarget</a>. The default
273 implementation in <a href="Ext.Component.html" rel="Ext.Component" class="docClass">Ext.Component</a> returns the Component's immediate owner. But if a known target is required, this can be overridden to
274 access the required target more quickly.</p>
275
276
277 <p>Example:</p>
278
279
280 <pre><code>Ext.override(Ext.form.field.Base, {
281 //  Add functionality to Field&#39;s initComponent to enable the change event to bubble
282 initComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, function() {
283     this.enableBubble('change');
284 }),
285
286 //  We know that we want Field&#39;s events to bubble directly to the FormPanel.
287 getBubbleTarget : function() {
288     if (!this.formPanel) {
289         this.formPanel = this.findParentByType('form');
290     }
291     return this.formPanel;
292 }
293 });
294
295 var myForm = new Ext.formPanel({
296 title: 'User Details',
297 items: [{
298     ...
299 }],
300 listeners: {
301     change: function() {
302         // Title goes red if form has been modified.
303         myForm.header.setStyle('color', 'red');
304     }
305 }
306 });
307 </code></pre>
308
309 <h3 class="pa">Parameters</h3><ul><li><span class="pre">events</span> : String/Array<div class="sub-desc"><p>The event name to bubble, or an Array of event names.</p>
310 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
311 </li></ul></div></div></div><div id="method-fireEvent" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-fireEvent" rel="method-fireEvent" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-fireEvent" class="viewSource">view source</a></div><a name="fireEvent"></a><a name="method-fireEvent"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-fireEvent" class="cls expand">fireEvent</a>(
312 <span class="pre">String eventName, Object... args</span>)
313  : Boolean</div><div class="description"><div class="short">Fires the specified event with the passed parameters (minus the event name).
314
315
316 An event may be set to bubble up an Ob...</div><div class="long"><p>Fires the specified event with the passed parameters (minus the event name).</p>
317
318
319 <p>An event may be set to bubble up an Observable parent hierarchy (See <a href="Ext.Component.html#getBubbleTarget" rel="Ext.Component#getBubbleTarget" class="docClass">Ext.Component.getBubbleTarget</a>)
320 by calling <a href="Ext.grid.feature.Grouping.html#enableBubble" rel="Ext.grid.feature.Grouping#enableBubble" class="docClass">enableBubble</a>.</p>
321
322 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The name of the event to fire.</p>
323 </div></li><li><span class="pre">args</span> : Object...<div class="sub-desc"><p>Variable number of parameters are passed to handlers.</p>
324 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Boolean</span>&nbsp; &nbsp;<p>returns false if any of the handlers return false otherwise it returns true.</p>
325 </li></ul></div></div></div><div id="method-getAdditionalData" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-getAdditionalData" rel="method-getAdditionalData" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-method-getAdditionalData" class="viewSource">view source</a></div><a name="getAdditionalData"></a><a name="method-getAdditionalData"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-getAdditionalData" class="cls expand">getAdditionalData</a>(
326 <span class="pre">Object data, Number idx, Ext.data.Model record, Object orig</span>)
327  : void</div><div class="description"><div class="short"><p>Provide additional data to the prepareData call within the grid view.</p>
328 </div><div class="long"><p>Provide additional data to the prepareData call within the grid view.</p>
329 <h3 class="pa">Parameters</h3><ul><li><span class="pre">data</span> : Object<div class="sub-desc"><p>The data for this particular record.</p>
330 </div></li><li><span class="pre">idx</span> : Number<div class="sub-desc"><p>The row index for this record.</p>
331 </div></li><li><span class="pre">record</span> : Ext.data.Model<div class="sub-desc"><p>The record instance</p>
332 </div></li><li><span class="pre">orig</span> : Object<div class="sub-desc"><p>The original result from the prepareData call to massage.</p>
333 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
334 </li></ul></div></div></div><div id="method-getFireEventArgs" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-getFireEventArgs" rel="method-getFireEventArgs" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-method-getFireEventArgs" class="viewSource">view source</a></div><a name="getFireEventArgs"></a><a name="method-getFireEventArgs"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-getFireEventArgs" class="cls expand">getFireEventArgs</a>(
335 <span class="pre">Object eventName, Object view, Object featureTarget</span>)
336  : void</div><div class="description"><div class="short">Abstract method to be overriden when a feature should add additional
337 arguments to its event signature. By default the...</div><div class="long"><p>Abstract method to be overriden when a feature should add additional
338 arguments to its event signature. By default the event will fire:
339 - view - The underlying <a href="Ext.view.Table.html" rel="Ext.view.Table" class="docClass">Ext.view.Table</a>
340 - featureTarget - The matched element by the defined <a href="eventSelector.html" rel="eventSelector" class="docClass">eventSelector</a></p>
341
342 <p>The method must also return the eventName as the first index of the array
343 to be passed to fireEvent.</p>
344 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : Object<div class="sub-desc">
345 </div></li><li><span class="pre">view</span> : Object<div class="sub-desc">
346 </div></li><li><span class="pre">featureTarget</span> : Object<div class="sub-desc">
347 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
348 </li></ul></div></div></div><div id="method-getMetaRowTplFragments" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-getMetaRowTplFragments" rel="method-getMetaRowTplFragments" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-method-getMetaRowTplFragments" class="viewSource">view source</a></div><a name="getMetaRowTplFragments"></a><a name="method-getMetaRowTplFragments"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-getMetaRowTplFragments" class="cls expand">getMetaRowTplFragments</a> : void</div><div class="description"><div class="short">Allows a feature to inject member methods into the metaRowTpl. This is
349 important for embedding functionality which wi...</div><div class="long"><p>Allows a feature to inject member methods into the metaRowTpl. This is
350 important for embedding functionality which will become part of the proper
351 row tpl.</p>
352 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
353 </li></ul></div></div></div><div id="method-hasListener" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-hasListener" rel="method-hasListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-hasListener" class="viewSource">view source</a></div><a name="hasListener"></a><a name="method-hasListener"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-hasListener" class="cls expand">hasListener</a>(
354 <span class="pre">String eventName</span>)
355  : Boolean</div><div class="description"><div class="short"><p>Checks to see if this object has any listeners for a specified event</p>
356 </div><div class="long"><p>Checks to see if this object has any listeners for a specified event</p>
357 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The name of the event to check for</p>
358 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Boolean</span>&nbsp; &nbsp;<p>True if the event is being listened for, else false</p>
359 </li></ul></div></div></div><div id="method-mutateMetaRowTpl" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-mutateMetaRowTpl" rel="method-mutateMetaRowTpl" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Feature.html" class="definedIn docClass">Ext.grid.feature.Feature</a><br/><a href="../source/Feature.html#Ext-grid.feature.Feature-method-mutateMetaRowTpl" class="viewSource">view source</a></div><a name="mutateMetaRowTpl"></a><a name="method-mutateMetaRowTpl"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-mutateMetaRowTpl" class="cls expand">mutateMetaRowTpl</a>(
360 <span class="pre">Object metaRowTplArray</span>)
361  : void</div><div class="description"><div class="short">Allows a feature to mutate the metaRowTpl.
362 The array received as a single argument can be manipulated to add things
363 o...</div><div class="long"><p>Allows a feature to mutate the metaRowTpl.
364 The array received as a single argument can be manipulated to add things
365 on the end/begining of a particular row.</p>
366 <h3 class="pa">Parameters</h3><ul><li><span class="pre">metaRowTplArray</span> : Object<div class="sub-desc">
367 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
368 </li></ul></div></div></div><div id="method-observe" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-observe" rel="method-observe" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-observe" class="viewSource">view source</a></div><a name="observe"></a><a name="method-observe"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-observe" class="cls expand">observe</a>(
369 <span class="pre">Function c, Object listeners</span>)
370  : void</div><div class="description"><div class="short">Sets observability on the passed class constructor.
371
372 This makes any event fired on any instance of the passed class a...</div><div class="long"><p>Sets observability on the passed class constructor.</p>
373
374 <p>This makes any event fired on any instance of the passed class also fire a single event through
375 the <strong>class</strong> allowing for central handling of events on many instances at once.</p>
376
377 <p>Usage:</p>
378
379 <pre><code>Ext.util.Observable.observe(Ext.data.Connection);
380 Ext.data.Connection.on('beforerequest', function(con, options) {
381     console.log('Ajax request made to ' + options.url);
382 });
383 </code></pre>
384 <h3 class="pa">Parameters</h3><ul><li><span class="pre">c</span> : Function<div class="sub-desc"><p>The class constructor to make observable.</p>
385 </div></li><li><span class="pre">listeners</span> : Object<div class="sub-desc"><p>An object containing a series of listeners to add. See <a href="Ext.grid.feature.Grouping.html#addListener" rel="Ext.grid.feature.Grouping#addListener" class="docClass">addListener</a>.</p>
386 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
387 </li></ul></div></div></div><div id="method-on" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-on" rel="method-on" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-on" class="viewSource">view source</a></div><a name="on"></a><a name="method-on"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-on" class="cls expand">on</a>(
388 <span class="pre">String eventName, Function handler, [Object scope], [Object options]</span>)
389  : void</div><div class="description"><div class="short"><p>Appends an event handler to this object (shorthand for <a href="Ext.grid.feature.Grouping.html#addListener" rel="Ext.grid.feature.Grouping#addListener" class="docClass">addListener</a>.)</p>
390 </div><div class="long"><p>Appends an event handler to this object (shorthand for <a href="Ext.grid.feature.Grouping.html#addListener" rel="Ext.grid.feature.Grouping#addListener" class="docClass">addListener</a>.)</p>
391 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The type of event to listen for</p>
392 </div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The method the event invokes</p>
393 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
394 <b>If omitted, defaults to the object which fired the event.</b></p>
395 </div></li><li><span class="pre">options</span> : Object<div class="sub-desc"><p>(optional) An object containing handler configuration.</p>
396 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
397 </li></ul></div></div></div><div id="method-relayEvents" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-relayEvents" rel="method-relayEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-relayEvents" class="viewSource">view source</a></div><a name="relayEvents"></a><a name="method-relayEvents"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-relayEvents" class="cls expand">relayEvents</a>(
398 <span class="pre">Object origin, Array events, Object prefix</span>)
399  : void</div><div class="description"><div class="short"><p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>
400 </div><div class="long"><p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>
401 <h3 class="pa">Parameters</h3><ul><li><span class="pre">origin</span> : Object<div class="sub-desc"><p>The Observable whose events this object is to relay.</p>
402 </div></li><li><span class="pre">events</span> : Array<div class="sub-desc"><p>Array of event names to relay.</p>
403 </div></li><li><span class="pre">prefix</span> : Object<div class="sub-desc">
404 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
405 </li></ul></div></div></div><div id="method-releaseCapture" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-releaseCapture" rel="method-releaseCapture" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-releaseCapture" class="viewSource">view source</a></div><a name="releaseCapture"></a><a name="method-releaseCapture"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-releaseCapture" class="cls expand">releaseCapture</a>(
406 <span class="pre">Observable o</span>)
407  : void</div><div class="description"><div class="short"><p>Removes <b>all</b> added captures from the Observable.</p>
408 </div><div class="long"><p>Removes <b>all</b> added captures from the Observable.</p>
409 <h3 class="pa">Parameters</h3><ul><li><span class="pre">o</span> : Observable<div class="sub-desc"><p>The Observable to release</p>
410 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
411 </li></ul></div></div></div><div id="method-removeListener" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-removeListener" rel="method-removeListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-removeListener" class="viewSource">view source</a></div><a name="removeListener"></a><a name="method-removeListener"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-removeListener" class="cls expand">removeListener</a>(
412 <span class="pre">String eventName, Function handler, [Object scope]</span>)
413  : void</div><div class="description"><div class="short"><p>Removes an event handler.</p>
414 </div><div class="long"><p>Removes an event handler.</p>
415 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The type of event the handler was associated with.</p>
416 </div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The handler to remove. <b>This must be a reference to the function passed into the <a href="Ext.grid.feature.Grouping.html#addListener" rel="Ext.grid.feature.Grouping#addListener" class="docClass">addListener</a> call.</b></p>
417 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope originally specified for the handler.</p>
418 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
419 </li></ul></div></div></div><div id="method-removeManagedListener" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-removeManagedListener" rel="method-removeManagedListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-removeManagedListener" class="viewSource">view source</a></div><a name="removeManagedListener"></a><a name="method-removeManagedListener"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-removeManagedListener" class="cls expand">removeManagedListener</a>(
420 <span class="pre">Observable|Element item, Object|String ename, Function fn, Object scope</span>)
421  : void</div><div class="description"><div class="short"><p>Removes listeners that were added by the <a href="Ext.grid.feature.Grouping.html#mon" rel="Ext.grid.feature.Grouping#mon" class="docClass">mon</a> method.</p>
422 </div><div class="long"><p>Removes listeners that were added by the <a href="Ext.grid.feature.Grouping.html#mon" rel="Ext.grid.feature.Grouping#mon" class="docClass">mon</a> method.</p>
423 <h3 class="pa">Parameters</h3><ul><li><span class="pre">item</span> : Observable|Element<div class="sub-desc"><p>The item from which to remove a listener/listeners.</p>
424 </div></li><li><span class="pre">ename</span> : Object|String<div class="sub-desc"><p>The event name, or an object containing event name properties.</p>
425 </div></li><li><span class="pre">fn</span> : Function<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
426 is the handler function.</p>
427 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
428 is the scope (<code>this</code> reference) in which the handler function is executed.</p>
429 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
430 </li></ul></div></div></div><div id="method-resumeEvents" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-resumeEvents" rel="method-resumeEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-resumeEvents" class="viewSource">view source</a></div><a name="resumeEvents"></a><a name="method-resumeEvents"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-resumeEvents" class="cls expand">resumeEvents</a> : void</div><div class="description"><div class="short">Resume firing events. (see suspendEvents)
431 If events were suspended using the queueSuspended parameter, then all
432 event...</div><div class="long"><p>Resume firing events. (see <a href="Ext.grid.feature.Grouping.html#suspendEvents" rel="Ext.grid.feature.Grouping#suspendEvents" class="docClass">suspendEvents</a>)
433 If events were suspended using the <code><b>queueSuspended</b></code> parameter, then all
434 events fired during event suspension will be sent to any listeners now.</p>
435 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
436 </li></ul></div></div></div><div id="method-suspendEvents" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-suspendEvents" rel="method-suspendEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-suspendEvents" class="viewSource">view source</a></div><a name="suspendEvents"></a><a name="method-suspendEvents"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-suspendEvents" class="cls expand">suspendEvents</a>(
437 <span class="pre">Boolean queueSuspended</span>)
438  : void</div><div class="description"><div class="short"><p>Suspend the firing of all events. (see <a href="Ext.grid.feature.Grouping.html#resumeEvents" rel="Ext.grid.feature.Grouping#resumeEvents" class="docClass">resumeEvents</a>)</p>
439 </div><div class="long"><p>Suspend the firing of all events. (see <a href="Ext.grid.feature.Grouping.html#resumeEvents" rel="Ext.grid.feature.Grouping#resumeEvents" class="docClass">resumeEvents</a>)</p>
440 <h3 class="pa">Parameters</h3><ul><li><span class="pre">queueSuspended</span> : Boolean<div class="sub-desc"><p>Pass as true to queue up suspended events to be fired
441 after the <a href="Ext.grid.feature.Grouping.html#resumeEvents" rel="Ext.grid.feature.Grouping#resumeEvents" class="docClass">resumeEvents</a> call instead of discarding all suspended events;</p>
442 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
443 </li></ul></div></div></div><div id="method-un" class="member inherited"><a href="Ext.grid.feature.Grouping.html#method-un" rel="method-un" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-un" class="viewSource">view source</a></div><a name="un"></a><a name="method-un"></a><a href="Ext.grid.feature.Grouping.html#" rel="method-un" class="cls expand">un</a>(
444 <span class="pre">String eventName, Function handler, [Object scope]</span>)
445  : void</div><div class="description"><div class="short"><p>Removes an event handler (shorthand for <a href="Ext.grid.feature.Grouping.html#removeListener" rel="Ext.grid.feature.Grouping#removeListener" class="docClass">removeListener</a>.)</p>
446 </div><div class="long"><p>Removes an event handler (shorthand for <a href="Ext.grid.feature.Grouping.html#removeListener" rel="Ext.grid.feature.Grouping#removeListener" class="docClass">removeListener</a>.)</p>
447 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The type of event the handler was associated with.</p>
448 </div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The handler to remove. <b>This must be a reference to the function passed into the <a href="Ext.grid.feature.Grouping.html#addListener" rel="Ext.grid.feature.Grouping#addListener" class="docClass">addListener</a> call.</b></p>
449 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope originally specified for the handler.</p>
450 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
451 </li></ul></div></div></div></div><div class="m-events"><a name="events"></a><div class="definedBy">Defined By</div><h3 class="evt p">Events</h3><div id="event-groupclick" class="member f ni"><a href="Ext.grid.feature.Grouping.html#event-groupclick" rel="event-groupclick" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-event-groupclick" class="viewSource">view source</a></div><a name="groupclick"></a><a name="event-groupclick"></a><a href="Ext.grid.feature.Grouping.html#" rel="event-groupclick" class="cls expand">groupclick</a>(
452 <span class="pre">Ext.view.Table view, HTMLElement node, Number unused, Number unused, Ext.EventObject e</span>)
453 </div><div class="description"><div class="short"><p>&nbsp;</p></div><div class="long">
454 <h3 class="pa">Parameters</h3><ul><li><span class="pre">view</span> : Ext.view.Table<div class="sub-desc">
455 </div></li><li><span class="pre">node</span> : HTMLElement<div class="sub-desc">
456 </div></li><li><span class="pre">unused</span> : Number<div class="sub-desc">
457 </div></li><li><span class="pre">unused</span> : Number<div class="sub-desc">
458 </div></li><li><span class="pre">e</span> : Ext.EventObject<div class="sub-desc">
459 </div></li></ul></div></div></div><div id="event-groupcollapse" class="member ni"><a href="Ext.grid.feature.Grouping.html#event-groupcollapse" rel="event-groupcollapse" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-event-groupcollapse" class="viewSource">view source</a></div><a name="groupcollapse"></a><a name="event-groupcollapse"></a><a href="Ext.grid.feature.Grouping.html#" rel="event-groupcollapse" class="cls expand">groupcollapse</a>(
460 <span class="pre">Ext.view.Table view, HTMLElement node, Number unused, Number unused, Ext.EventObject e</span>)
461 </div><div class="description"><div class="short"><p>&nbsp;</p></div><div class="long">
462 <h3 class="pa">Parameters</h3><ul><li><span class="pre">view</span> : Ext.view.Table<div class="sub-desc">
463 </div></li><li><span class="pre">node</span> : HTMLElement<div class="sub-desc">
464 </div></li><li><span class="pre">unused</span> : Number<div class="sub-desc">
465 </div></li><li><span class="pre">unused</span> : Number<div class="sub-desc">
466 </div></li><li><span class="pre">e</span> : Ext.EventObject<div class="sub-desc">
467 </div></li></ul></div></div></div><div id="event-groupcontextmenu" class="member ni"><a href="Ext.grid.feature.Grouping.html#event-groupcontextmenu" rel="event-groupcontextmenu" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-event-groupcontextmenu" class="viewSource">view source</a></div><a name="groupcontextmenu"></a><a name="event-groupcontextmenu"></a><a href="Ext.grid.feature.Grouping.html#" rel="event-groupcontextmenu" class="cls expand">groupcontextmenu</a>(
468 <span class="pre">Ext.view.Table view, HTMLElement node, Number unused, Number unused, Ext.EventObject e</span>)
469 </div><div class="description"><div class="short"><p>&nbsp;</p></div><div class="long">
470 <h3 class="pa">Parameters</h3><ul><li><span class="pre">view</span> : Ext.view.Table<div class="sub-desc">
471 </div></li><li><span class="pre">node</span> : HTMLElement<div class="sub-desc">
472 </div></li><li><span class="pre">unused</span> : Number<div class="sub-desc">
473 </div></li><li><span class="pre">unused</span> : Number<div class="sub-desc">
474 </div></li><li><span class="pre">e</span> : Ext.EventObject<div class="sub-desc">
475 </div></li></ul></div></div></div><div id="event-groupdblclick" class="member ni"><a href="Ext.grid.feature.Grouping.html#event-groupdblclick" rel="event-groupdblclick" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-event-groupdblclick" class="viewSource">view source</a></div><a name="groupdblclick"></a><a name="event-groupdblclick"></a><a href="Ext.grid.feature.Grouping.html#" rel="event-groupdblclick" class="cls expand">groupdblclick</a>(
476 <span class="pre">Ext.view.Table view, HTMLElement node, Number unused, Number unused, Ext.EventObject e</span>)
477 </div><div class="description"><div class="short"><p>&nbsp;</p></div><div class="long">
478 <h3 class="pa">Parameters</h3><ul><li><span class="pre">view</span> : Ext.view.Table<div class="sub-desc">
479 </div></li><li><span class="pre">node</span> : HTMLElement<div class="sub-desc">
480 </div></li><li><span class="pre">unused</span> : Number<div class="sub-desc">
481 </div></li><li><span class="pre">unused</span> : Number<div class="sub-desc">
482 </div></li><li><span class="pre">e</span> : Ext.EventObject<div class="sub-desc">
483 </div></li></ul></div></div></div><div id="event-groupexpand" class="member ni"><a href="Ext.grid.feature.Grouping.html#event-groupexpand" rel="event-groupexpand" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.grid.feature.Grouping.html" class="definedIn docClass">Ext.grid.feature.Grouping</a><br/><a href="../source/Grouping.html#Ext-grid.feature.Grouping-event-groupexpand" class="viewSource">view source</a></div><a name="groupexpand"></a><a name="event-groupexpand"></a><a href="Ext.grid.feature.Grouping.html#" rel="event-groupexpand" class="cls expand">groupexpand</a>(
484 <span class="pre">Ext.view.Table view, HTMLElement node, Number unused, Number unused, Ext.EventObject e</span>)
485 </div><div class="description"><div class="short"><p>&nbsp;</p></div><div class="long">
486 <h3 class="pa">Parameters</h3><ul><li><span class="pre">view</span> : Ext.view.Table<div class="sub-desc">
487 </div></li><li><span class="pre">node</span> : HTMLElement<div class="sub-desc">
488 </div></li><li><span class="pre">unused</span> : Number<div class="sub-desc">
489 </div></li><li><span class="pre">unused</span> : Number<div class="sub-desc">
490 </div></li><li><span class="pre">e</span> : Ext.EventObject<div class="sub-desc">
491 </div></li></ul></div></div></div></div></div></div></div><div id="pageContent"></div></div></div></div></body></html>