Upgrade to ExtJS 3.0.3 - Released 10/11/2009
[extjs.git] / docs / output / Ext.ux.grid.HybridSummary.html
1 <div class="body-wrap" xmlns:ext="http://www.extjs.com"><div class="top-tools"><a class="inner-link" href="#Ext.ux.grid.HybridSummary-props"><img src="resources/images/default/s.gif" class="item-icon icon-prop">Properties</a>&#13;<a class="inner-link" href="#Ext.ux.grid.HybridSummary-methods"><img src="resources/images/default/s.gif" class="item-icon icon-method">Methods</a>&#13;<a class="inner-link" href="#Ext.ux.grid.HybridSummary-events"><img src="resources/images/default/s.gif" class="item-icon icon-event">Events</a>&#13;<a class="inner-link" href="#Ext.ux.grid.HybridSummary-configs"><img src="resources/images/default/s.gif" class="item-icon icon-config">Config Options</a>&#13;<a class="bookmark" href="../docs/?class=Ext.ux.grid.HybridSummary"><img src="resources/images/default/s.gif" class="item-icon icon-fav">Direct Link</a>&#13;</div><div class="inheritance res-block"><pre class="res-block-inner"><a href="output/Ext.util.Observable.html" ext:member="" ext:cls="Ext.util.Observable">Observable</a>&#13;&nbsp;&nbsp;<img src="resources/elbow-end.gif"><a href="output/Ext.ux.grid.GroupSummary.html" ext:member="" ext:cls="Ext.ux.grid.GroupSummary">GroupSummary</a>&#13;&nbsp;&nbsp;&nbsp;&nbsp;<img src="resources/elbow-end.gif">HybridSummary</pre></div><h1>Class <a href="source/GroupSummary.html#cls-Ext.ux.grid.HybridSummary">Ext.ux.grid.HybridSummary</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext.ux.grid</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">GroupSummary.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/GroupSummary.html#cls-Ext.ux.grid.HybridSummary">HybridSummary</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info"><a href="output/Ext.ux.grid.GroupSummary.html" ext:cls="Ext.ux.grid.GroupSummary" ext:member="">GroupSummary</a></td></tr><tr><td class="hd-info"></td></tr></table><div class="description">Adds capability to specify the summary data for the group via json as illustrated here:\r
2 <pre><code>{\r
3     data: [\r
4         {\r
5             projectId: 100,     project: <em>'House'</em>,\r
6             taskId:    112, description: <em>'Paint'</em>,\r
7             estimate:    6,        rate:     150,\r
8             due:<em>'06/24/2007'</em>\r
9         },\r
10         ...\r
11     ],\r
12 \r
13     summaryData: {\r
14         <em>'House'</em>: {\r
15             description: 14, estimate: 9,\r
16                    rate: 99, due: <b>new</b> Date(2009, 6, 29),\r
17                    cost: 999\r
18         }\r
19     }\r
20 }</code></pre></div><div class="hr"></div><a id="Ext.ux.grid.HybridSummary-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 expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-listeners"></a><b><a href="source/Observable.html#cfg-Ext.util.Observable-listeners">listeners</a></b> : Object<div class="mdesc"><div class="short">A config object containing one or more event handlers to be added to this\r
21 object during initialization.  This should ...</div><div class="long"><p>A config object containing one or more event handlers to be added to this
22 object during initialization.  This should be a valid listeners config object as specified in the
23 <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> example for attaching multiple handlers at once.</p>
24 <br><p><b><u>DOM events from ExtJs <a href="output/Ext.Component.html" ext:cls="Ext.Component">Components</a></u></b></p>
25 <br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this
26 is usually only done when extra value can be added. For example the <a href="output/Ext.DataView.html" ext:cls="Ext.DataView">DataView</a>'s
27 <b><code><a href="output/Ext.DataView.html#Ext.DataView-click" ext:member="click" ext:cls="Ext.DataView">click</a></code></b> event passing the node clicked on. To access DOM
28 events directly from a Component's HTMLElement, listeners must be added to the <i><a href="output/Ext.Component.html#Ext.Component-getEl" ext:member="getEl" ext:cls="Ext.Component">Element</a></i> after the Component
29 has been rendered. A plugin can simplify this step:<pre><code><i>// Plugin is configured <b>with</b> a listeners config object.</i>
30 <i>// The Component is appended to the argument list of all handler functions.</i>
31 Ext.DomObserver = Ext.extend(Object, {
32     constructor: <b>function</b>(config) {
33         this.listeners = config.listeners ? config.listeners : config;
34     },
35
36     <i>// Component passes itself into plugin&#39;s init method</i>
37     init: <b>function</b>(c) {
38         <b>var</b> p, l = this.listeners;
39         <b>for</b> (p <b>in</b> l) {
40             <b>if</b> (Ext.isFunction(l[p])) {
41                 l[p] = this.createHandler(l[p], c);
42             } <b>else</b> {
43                 l[p].fn = this.createHandler(l[p].fn, c);
44             }
45         }
46
47         <i>// Add the listeners to the Element immediately following the render call</i>
48         c.render = c.render.<a href="output/Function.html#Function-createSequence" ext:member="createSequence" ext:cls="Function">createSequence</a>(<b>function</b>() {
49             <b>var</b> e = c.getEl();
50             <b>if</b> (e) {
51                 e.on(l);
52             }
53         });
54     },
55
56     createHandler: <b>function</b>(fn, c) {
57         <b>return</b> <b>function</b>(e) {
58             fn.call(this, e, c);
59         };
60     }
61 });
62
63 <b>var</b> combo = <b>new</b> Ext.form.ComboBox({
64
65     <i>// Collapse combo when its element is clicked on</i>
66     plugins: [ <b>new</b> Ext.DomObserver({
67         click: <b>function</b>(evt, comp) {
68             comp.collapse();
69         }
70     })],
71     store: myStore,
72     typeAhead: true,
73     mode: <em>'local'</em>,
74     triggerAction: <em>'all'</em>
75 });</code></pre></p></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#listeners" ext:member="#listeners" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.ux.grid.GroupSummary-summaryRenderer"></a><b><a href="source/GroupSummary.html#cfg-Ext.ux.grid.GroupSummary-summaryRenderer">summaryRenderer</a></b> : Function<div class="mdesc"><div class="short">Renderer example:summaryRenderer: function(v, params, data){&#13;\r
76     return ((v === 0 || v &gt; 1) ? '(' + v +' Tasks)' : '...</div><div class="long">Renderer example:<pre><code>summaryRenderer: <b>function</b>(v, params, data){\r
77     <b>return</b> ((v === 0 || v > 1) ? <em>'('</em> + v +<em>' Tasks)'</em> : <em>'(1 Task)'</em>);\r
78 },</code></pre></div></div></td><td class="msource"><a href="output/Ext.ux.grid.GroupSummary.html#summaryRenderer" ext:member="#summaryRenderer" ext:cls="Ext.ux.grid.GroupSummary">GroupSummary</a></td></tr><tr class="config-row  inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.ux.grid.GroupSummary-summaryType"></a><b><a href="source/GroupSummary.html#cfg-Ext.ux.grid.GroupSummary-summaryType">summaryType</a></b> : String<div class="mdesc">The type of\r
79 calculation to be used for the column.  For options available see\r
80 <a href="output/Ext.ux.grid.GroupSummary.html#Ext.ux.grid.GroupSummary-Calculations" ext:member="Calculations" ext:cls="Ext.ux.grid.GroupSummary">Calculations</a>.</div></td><td class="msource"><a href="output/Ext.ux.grid.GroupSummary.html#summaryType" ext:member="#summaryType" ext:cls="Ext.ux.grid.GroupSummary">GroupSummary</a></td></tr></tbody></table><a id="Ext.ux.grid.HybridSummary-props"></a><h2>Public Properties</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Property</th><th class="msource-header">Defined By</th></tr><tr class="property-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.ux.grid.GroupSummary-Calculations"></a><b><a href="source/GroupSummary.html#prop-Ext.ux.grid.GroupSummary-Calculations">Calculations</a></b> : Object<div class="mdesc"><div class="short">Calculation types for summary row:&lt;div class="mdetail-params"&gt;&#13;\r
81 sum : &lt;div class="sub-desc"&gt;&#13;\r
82 count : &lt;div class="sub...</div><div class="long">Calculation types for summary row:</p><div class="mdetail-params"><ul>\r
83 <li><b><tt>sum</tt></b> : <div class="sub-desc"></div></li>\r
84 <li><b><tt>count</tt></b> : <div class="sub-desc"></div></li>\r
85 <li><b><tt>max</tt></b> : <div class="sub-desc"></div></li>\r
86 <li><b><tt>min</tt></b> : <div class="sub-desc"></div></li>\r
87 <li><b><tt>average</tt></b> : <div class="sub-desc"></div></li>\r
88 </ul></div>\r
89 <p>Custom calculations may be implemented.  An example of\r
90 custom <code>summaryType=totalCost</code>:</p><pre><code><i>// define a custom summary <b>function</b>\r</i>
91 Ext.ux.grid.GroupSummary.Calculations[<em>'totalCost'</em>] = <b>function</b>(v, record, field){\r
92     <b>return</b> v + (record.data.estimate * record.data.rate);\r
93 };</code></pre></div></div></td><td class="msource"><a href="output/Ext.ux.grid.GroupSummary.html#Calculations" ext:member="#Calculations" ext:cls="Ext.ux.grid.GroupSummary">GroupSummary</a></td></tr></tbody></table><a id="Ext.ux.grid.HybridSummary-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 inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-addEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-addEvents">addEvents</a></b>(&nbsp;<code>Object|String&nbsp;o</code>,&nbsp;<code>string&nbsp;Optional.</code>&nbsp;)\r
94     :\r
95                                         void<div class="mdesc"><div class="short">Adds the specified events to the list of events which this Observable may fire.</div><div class="long">Adds the specified events to the list of events which this Observable may fire.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Object|String<div class="sub-desc">Either an object with event names as properties with a value of <code>true</code>
96 or the first event name string if multiple event names are being passed as separate parameters.</div></li><li><code>Optional.</code> : string<div class="sub-desc">Event name if multiple event names are being passed as separate parameters.
97 Usage:<pre><code>this.addEvents(<em>'storeloaded'</em>, <em>'storecleared'</em>);</code></pre></div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#addEvents" ext:member="#addEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-addListener"></a><b><a href="source/Observable.html#method-Ext.util.Observable-addListener">addListener</a></b>(&nbsp;<code>String&nbsp;eventName</code>,&nbsp;<code>Function&nbsp;handler</code>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;scope</code>]</span>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;options</code>]</span>&nbsp;)\r
98     :\r
99                                         void<div class="mdesc"><div class="short">Appends an event handler to this object.</div><div class="long">Appends an event handler to this object.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to listen for.</div></li><li><code>handler</code> : Function<div class="sub-desc">The method the event invokes.</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
100 <b>If omitted, defaults to the object which fired the event.</b></div></li><li><code>options</code> : Object<div class="sub-desc">(optional) An object containing handler configuration.
101 properties. This may contain any of the following properties:<ul>
102 <li><b>scope</b> : Object<div class="sub-desc">The scope (<code><b>this</b></code> reference) in which the handler function is executed.
103 <b>If omitted, defaults to the object which fired the event.</b></div></li>
104 <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>
105 <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>
106 <li><b>buffer</b> : Number<div class="sub-desc">Causes the handler to be scheduled to run in an <a href="output/Ext.util.DelayedTask.html" ext:cls="Ext.util.DelayedTask">Ext.util.DelayedTask</a> delayed
107 by the specified number of milliseconds. If the event fires again within that time, the original
108 handler is <em>not</em> invoked, but the new handler is scheduled in its place.</div></li>
109 <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>
110 if the event was bubbled up from a child Observable.</div></li>
111 </ul><br>
112 <p>
113 <b>Combining Options</b><br>
114 Using the options argument, it is possible to combine different types of listeners:<br>
115 <br>
116 A delayed, one-time listener.
117 <pre><code>myDataView.on(<em>'click'</em>, this.onClick, this, {
118 single: true,
119 delay: 100
120 });</code></pre>
121 <p>
122 <b>Attaching multiple handlers in 1 call</b><br>
123 The method also allows for a single argument to be passed which is a config object containing properties
124 which specify multiple handlers.
125 <p>
126 <pre><code>myGridPanel.on({
127 <em>'click'</em> : {
128     fn: this.onClick,
129     scope: this,
130     delay: 100
131 },
132 <em>'mouseover'</em> : {
133     fn: this.onMouseOver,
134     scope: this
135 },
136 <em>'mouseout'</em> : {
137     fn: this.onMouseOut,
138     scope: this
139 }
140 });</code></pre>
141 <p>
142 Or a shorthand syntax:<br>
143 <pre><code>myGridPanel.on({
144 <em>'click'</em> : this.onClick,
145 <em>'mouseover'</em> : this.onMouseOver,
146 <em>'mouseout'</em> : this.onMouseOut,
147  scope: this
148 });</code></pre></div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#addListener" ext:member="#addListener" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-enableBubble"></a><b><a href="source/Observable-more.html#method-Ext.util.Observable-enableBubble">enableBubble</a></b>(&nbsp;<code>Object&nbsp;events</code>&nbsp;)\r
149     :\r
150                                         void<div class="mdesc"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling&#13;\r
151 this.getBubbleTarget() if present...</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling\r
152 <code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>\r
153 <p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href="output/Ext.Component.getBubbleTarget.html" ext:cls="Ext.Component.getBubbleTarget">Ext.Component.getBubbleTarget</a>. The default\r
154 implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to\r
155 access the required target more quickly.</p>\r
156 <p>Example:</p><pre><code>Ext.override(Ext.form.Field, {\r
157 <i>//  Add functionality to Field<em>'s initComponent to enable the change event to bubble\r</i>
158     initComponent: Ext.form.Field.prototype.initComponent.createSequence(<b>function</b>() {\r
159         this.enableBubble('</em>change<em>');\r
160     }),\r
161 \r
162 <i>//  We know that we want Field'</em>s events to bubble directly to the FormPanel.\r</i>
163     getBubbleTarget: <b>function</b>() {\r
164         <b>if</b> (!this.formPanel) {\r
165             this.formPanel = this.findParentByType(<em>'form'</em>);\r
166         }\r
167         <b>return</b> this.formPanel;\r
168     }\r
169 });\r
170 \r
171 <b>var</b> myForm = <b>new</b> Ext.formPanel({\r
172     title: <em>'User Details'</em>,\r
173     items: [{\r
174         ...\r
175     }],\r
176     listeners: {\r
177         change: <b>function</b>() {\r
178 <i>//          Title goes red <b>if</b> form has been modified.\r</i>
179             myForm.header.setStyle(<em>"color"</em>, <em>"red"</em>);\r
180         }\r
181     }\r
182 });</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>events</code> : Object<div class="sub-desc">The event name to bubble, or an Array of event names.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#enableBubble" ext:member="#enableBubble" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-fireEvent"></a><b><a href="source/Observable.html#method-Ext.util.Observable-fireEvent">fireEvent</a></b>(&nbsp;<code>String&nbsp;eventName</code>,&nbsp;<code>Object...&nbsp;args</code>&nbsp;)\r
183     :\r
184                                         Boolean<div class="mdesc"><div class="short">Fires the specified event with the passed parameters (minus the event name).\r
185 An event may be set to bubble up an Obse...</div><div class="long"><p>Fires the specified event with the passed parameters (minus the event name).</p>
186 <p>An event may be set to bubble up an Observable parent hierarchy (See <a href="output/Ext.Component.html#Ext.Component-getBubbleTarget" ext:member="getBubbleTarget" ext:cls="Ext.Component">Ext.Component.getBubbleTarget</a>)
187 by calling <a href="output/Ext.util.Observable.html#Ext.util.Observable-enableBubble" ext:member="enableBubble" ext:cls="Ext.util.Observable">enableBubble</a>.</p><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to fire.</div></li><li><code>args</code> : Object...<div class="sub-desc">Variable number of parameters are passed to handlers.</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">returns false if any of the handlers return false otherwise it returns true.</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#fireEvent" ext:member="#fireEvent" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.ux.grid.HybridSummary-getSummaryData"></a><b><a href="source/GroupSummary.html#method-Ext.ux.grid.HybridSummary-getSummaryData">getSummaryData</a></b>(&nbsp;<code>String&nbsp;groupValue</code>&nbsp;)\r
188     :\r
189                                         Object<div class="mdesc"><div class="short">Returns the summaryData for the specified groupValue or null.</div><div class="long">Returns the summaryData for the specified groupValue or null.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>groupValue</code> : String<div class="sub-desc"></div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">summaryData</div></li></ul></div></div></div></td><td class="msource">HybridSummary</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-hasListener"></a><b><a href="source/Observable.html#method-Ext.util.Observable-hasListener">hasListener</a></b>(&nbsp;<code>String&nbsp;eventName</code>&nbsp;)\r
190     :\r
191                                         Boolean<div class="mdesc"><div class="short">Checks to see if this object has any listeners for a specified event</div><div class="long">Checks to see if this object has any listeners for a specified event<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to check for</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">True if the event is being listened for, else false</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#hasListener" ext:member="#hasListener" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-on"></a><b><a href="source/Observable.html#method-Ext.util.Observable-on">on</a></b>(&nbsp;<code>String&nbsp;eventName</code>,&nbsp;<code>Function&nbsp;handler</code>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;scope</code>]</span>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;options</code>]</span>&nbsp;)\r
192     :\r
193                                         void<div class="mdesc"><div class="short">Appends an event handler to this object (shorthand for addListener.)</div><div class="long">Appends an event handler to this object (shorthand for <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a>.)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event to listen for</div></li><li><code>handler</code> : Function<div class="sub-desc">The method the event invokes</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
194 <b>If omitted, defaults to the object which fired the event.</b></div></li><li><code>options</code> : Object<div class="sub-desc">(optional) An object containing handler configuration.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#on" ext:member="#on" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-purgeListeners"></a><b><a href="source/Observable.html#method-Ext.util.Observable-purgeListeners">purgeListeners</a></b>()\r
195     :\r
196                                         void<div class="mdesc"><div class="short">Removes all listeners for this object</div><div class="long">Removes all listeners for this object<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"><a href="output/Ext.util.Observable.html#purgeListeners" ext:member="#purgeListeners" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-relayEvents"></a><b><a href="source/Observable-more.html#method-Ext.util.Observable-relayEvents">relayEvents</a></b>(&nbsp;<code>Object&nbsp;o</code>,&nbsp;<code>Array&nbsp;events</code>&nbsp;)\r
197     :\r
198                                         void<div class="mdesc"><div class="short">Relays selected events from the specified Observable as if the events were fired by this.</div><div class="long">Relays selected events from the specified Observable as if the events were fired by <tt><b>this</b></tt>.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Object<div class="sub-desc">The Observable whose events this object is to relay.</div></li><li><code>events</code> : Array<div class="sub-desc">Array of event names to relay.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#relayEvents" ext:member="#relayEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-removeListener"></a><b><a href="source/Observable.html#method-Ext.util.Observable-removeListener">removeListener</a></b>(&nbsp;<code>String&nbsp;eventName</code>,&nbsp;<code>Function&nbsp;handler</code>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;scope</code>]</span>&nbsp;)\r
199     :\r
200                                         void<div class="mdesc"><div class="short">Removes an event handler.</div><div class="long">Removes an event handler.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event the handler was associated with.</div></li><li><code>handler</code> : Function<div class="sub-desc">The handler to remove. <b>This must be a reference to the function passed into the <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> call.</b></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope originally specified for the handler.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#removeListener" ext:member="#removeListener" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-resumeEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-resumeEvents">resumeEvents</a></b>()\r
201     :\r
202                                         void<div class="mdesc"><div class="short">Resume firing events. (see suspendEvents)\r
203 If events were suspended using the queueSuspended parameter, then all\r
204 event...</div><div class="long">Resume firing events. (see <a href="output/Ext.util.Observable.html#Ext.util.Observable-suspendEvents" ext:member="suspendEvents" ext:cls="Ext.util.Observable">suspendEvents</a>)
205 If events were suspended using the <tt><b>queueSuspended</b></tt> parameter, then all
206 events fired during event suspension will be sent to any listeners now.<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"><a href="output/Ext.util.Observable.html#resumeEvents" ext:member="#resumeEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.ux.grid.HybridSummary-setActiveTab"></a><b><a href="source/GroupTab.html#method-Ext.ux.grid.HybridSummary-setActiveTab">setActiveTab</a></b>(&nbsp;<code>String/Panel&nbsp;tab</code>&nbsp;)\r
207     :\r
208                                         void<div class="mdesc"><div class="short">Sets the specified tab as the active tab. This method fires the beforetabchange event which&#13;\r
209 can return false to canc...</div><div class="long">Sets the specified tab as the active tab. This method fires the <a href="output/Ext.ux.grid.HybridSummary.html#Ext.ux.grid.HybridSummary-beforetabchange" ext:member="beforetabchange" ext:cls="Ext.ux.grid.HybridSummary">beforetabchange</a> event which\r
210 can return false to cancel the tab change.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>tab</code> : String/Panel<div class="sub-desc">The id or tab Panel to activate</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">HybridSummary</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.ux.grid.GroupSummary-showSummaryMsg"></a><b><a href="source/GroupSummary.html#method-Ext.ux.grid.GroupSummary-showSummaryMsg">showSummaryMsg</a></b>(&nbsp;<code>String&nbsp;groupValue</code>,&nbsp;<code>String&nbsp;msg</code>&nbsp;)\r
211     :\r
212                                         void<div class="mdesc"><div class="short">Show a message in the summary row.&#13;\r
213 grid.on('afteredit', function(){&#13;\r
214     var groupValue = 'Ext Forms: Field Anchorin...</div><div class="long">Show a message in the summary row.\r
215 <pre><code>grid.on(<em>'afteredit'</em>, <b>function</b>(){\r
216     <b>var</b> groupValue = <em>'Ext Forms: Field Anchoring'</em>;\r
217     summary.showSummaryMsg(groupValue, <em>'Updating Summary...'</em>);\r
218 });</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>groupValue</code> : String<div class="sub-desc"></div></li><li><code>msg</code> : String<div class="sub-desc">Text to use as innerHTML for the summary row.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.ux.grid.GroupSummary.html#showSummaryMsg" ext:member="#showSummaryMsg" ext:cls="Ext.ux.grid.GroupSummary">GroupSummary</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-suspendEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-suspendEvents">suspendEvents</a></b>(&nbsp;<code>Boolean&nbsp;queueSuspended</code>&nbsp;)\r
219     :\r
220                                         void<div class="mdesc"><div class="short">Suspend the firing of all events. (see resumeEvents)</div><div class="long">Suspend the firing of all events. (see <a href="output/Ext.util.Observable.html#Ext.util.Observable-resumeEvents" ext:member="resumeEvents" ext:cls="Ext.util.Observable">resumeEvents</a>)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>queueSuspended</code> : Boolean<div class="sub-desc">Pass as true to queue up suspended events to be fired
221 after the <a href="output/Ext.util.Observable.html#Ext.util.Observable-resumeEvents" ext:member="resumeEvents" ext:cls="Ext.util.Observable">resumeEvents</a> call instead of discarding all suspended events;</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#suspendEvents" ext:member="#suspendEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.ux.grid.GroupSummary-toggleSummaries"></a><b><a href="source/GroupSummary.html#method-Ext.ux.grid.GroupSummary-toggleSummaries">toggleSummaries</a></b>(&nbsp;<code>Boolean&nbsp;visible</code>&nbsp;)\r
222     :\r
223                                         void<div class="mdesc"><div class="short">Toggle the display of the summary row on/off</div><div class="long">Toggle the display of the summary row on/off<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>visible</code> : Boolean<div class="sub-desc"><tt>true</tt> to show the summary, <tt>false</tt> to hide the summary.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.ux.grid.GroupSummary.html#toggleSummaries" ext:member="#toggleSummaries" ext:cls="Ext.ux.grid.GroupSummary">GroupSummary</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-un"></a><b><a href="source/Observable.html#method-Ext.util.Observable-un">un</a></b>(&nbsp;<code>String&nbsp;eventName</code>,&nbsp;<code>Function&nbsp;handler</code>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;scope</code>]</span>&nbsp;)\r
224     :\r
225                                         void<div class="mdesc"><div class="short">Removes an event handler (shorthand for removeListener.)</div><div class="long">Removes an event handler (shorthand for <a href="output/Ext.util.Observable.html#Ext.util.Observable-removeListener" ext:member="removeListener" ext:cls="Ext.util.Observable">removeListener</a>.)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event the handler was associated with.</div></li><li><code>handler</code> : Function<div class="sub-desc">The handler to remove. <b>This must be a reference to the function passed into the <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> call.</b></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope originally specified for the handler.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#un" ext:member="#un" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.ux.grid.HybridSummary-updateSummaryData"></a><b><a href="source/GroupSummary.html#method-Ext.ux.grid.HybridSummary-updateSummaryData">updateSummaryData</a></b>(&nbsp;<code>String&nbsp;groupValue</code>,&nbsp;<code>Object&nbsp;data</code>,&nbsp;<span title="Optional" class="optional">[<code>Boolean&nbsp;skipRefresh</code>]</span>&nbsp;)\r
226     :\r
227                                         void<div class="mdesc"><div class="short">grid.on('afteredit', function(){&#13;\r
228     var groupValue = 'Ext Forms: Field Anchoring';&#13;\r
229     summary.showSummaryMsg(grou...</div><div class="long"><pre><code>grid.on(<em>'afteredit'</em>, <b>function</b>(){\r
230     <b>var</b> groupValue = <em>'Ext Forms: Field Anchoring'</em>;\r
231     summary.showSummaryMsg(groupValue, <em>'Updating Summary...'</em>);\r
232     setTimeout(<b>function</b>(){ <i>// simulate server call\r</i>
233         <i>// HybridSummary class implements updateSummaryData\r</i>
234         summary.updateSummaryData(groupValue,\r
235             <i>// create data object based on configured dataIndex\r</i>
236             {description: 22, estimate: 888, rate: 888, due: <b>new</b> Date(), cost: 8});\r
237     }, 2000);\r
238 });</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>groupValue</code> : String<div class="sub-desc"></div></li><li><code>data</code> : Object<div class="sub-desc">data object</div></li><li><code>skipRefresh</code> : Boolean<div class="sub-desc">(Optional) Defaults to false</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">HybridSummary</td></tr></tbody></table><a id="Ext.ux.grid.HybridSummary-events"></a><h2>Public Events</h2><div class="no-members">This class has no public events.</div></div>