Upgrade to ExtJS 4.0.1 - Released 05/18/2011
[extjs.git] / docs / output / Ext.grid.plugin.RowEditing.js
1 Ext.data.JsonP.Ext_grid_plugin_RowEditing({
2   "tagname": "class",
3   "name": "Ext.grid.plugin.RowEditing",
4   "doc": "<p>The <a href=\"#/api/Ext.grid.plugin.RowEditing\" rel=\"Ext.grid.plugin.RowEditing\" class=\"docClass\">Ext.grid.plugin.RowEditing</a> plugin injects editing at a row level for a Grid. When editing begins,\na small floating dialog will be shown for the appropriate row. Each editable column will show a field\nfor editing. There is a button to save or cancel all changes for the edit.</p>\n\n<p>The field that will be used for the editor is defined at the\n<a href=\"#/api/Ext.grid.column.Column--field\" rel=\"Ext.grid.column.Column--field\" class=\"docClass\">field</a>. The editor can be a field instance or a field configuration.\nIf an editor is not specified for a particular column then that column won't be editable and the value of\nthe column will be displayed.</p>\n\n<p>The editor may be shared for each column in the grid, or a different one may be specified for each column.\nAn appropriate field type should be chosen to match the data structure that it will be editing. For example,\nto edit a date, it would be useful to specify <a href=\"#/api/Ext.form.field.Date\" rel=\"Ext.form.field.Date\" class=\"docClass\">Ext.form.field.Date</a> as the editor.</p>\n\n<p><p><img src=\"doc-resources/Ext.grid.plugin.RowEditing/Ext.grid.plugin.RowEditing.png\" alt=\"Ext.grid.plugin.RowEditing plugin\"></p></p>\n\n<h2>Example Usage</h2>\n\n<pre><code>Ext.create('Ext.data.Store', {\n    storeId:'simpsonsStore',\n    fields:['name', 'email', 'phone'],\n    data:{'items':[\n        {\"name\":\"Lisa\", \"email\":\"lisa@simpsons.com\", \"phone\":\"555-111-1224\"},\n        {\"name\":\"Bart\", \"email\":\"bart@simpsons.com\", \"phone\":\"555--222-1234\"},\n        {\"name\":\"Homer\", \"email\":\"home@simpsons.com\", \"phone\":\"555-222-1244\"},                        \n        {\"name\":\"Marge\", \"email\":\"marge@simpsons.com\", \"phone\":\"555-222-1254\"}            \n    ]},\n    proxy: {\n        type: 'memory',\n        reader: {\n            type: 'json',\n            root: 'items'\n        }\n    }\n});\n\nExt.create('Ext.grid.Panel', {\n    title: 'Simpsons',\n    store: Ext.data.StoreManager.lookup('simpsonsStore'),\n    columns: [\n        {header: 'Name',  dataIndex: 'name', field: 'textfield'},\n        {header: 'Email', dataIndex: 'email', flex:1, \n            editor: {\n                xtype:'textfield',\n                allowBlank:false\n            }\n        },\n        {header: 'Phone', dataIndex: 'phone'}\n    ],\n    selType: 'rowmodel',\n    plugins: [\n        Ext.create('Ext.grid.plugin.RowEditing', {\n            clicksToEdit: 1\n        })\n    ],\n    height: 200,\n    width: 400,\n    renderTo: Ext.getBody()\n});\n</code></pre>\n",
5   "extends": "Ext.grid.plugin.Editing",
6   "mixins": [
7
8   ],
9   "alternateClassNames": [
10
11   ],
12   "xtype": null,
13   "author": null,
14   "docauthor": null,
15   "singleton": false,
16   "private": false,
17   "cfg": [
18     {
19       "tagname": "cfg",
20       "name": "autoCancel",
21       "member": "Ext.grid.plugin.RowEditing",
22       "type": "Boolean",
23       "doc": "<p><code>true</code> to automatically cancel any pending changes when the row editor begins editing a new row.\n<code>false</code> to force the user to explicitly cancel the pending changes. Defaults to <code>true</code>.</p>\n",
24       "private": false,
25       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/RowEditing.js",
26       "linenr": 74,
27       "html_filename": "RowEditing.html",
28       "href": "RowEditing.html#Ext-grid-plugin-RowEditing-cfg-autoCancel",
29       "shortDoc": "true to automatically cancel any pending changes when the row editor begins editing a new row.\nfalse to force the use..."
30     },
31     {
32       "tagname": "cfg",
33       "name": "clicksToEdit",
34       "member": "Ext.grid.plugin.Editing",
35       "type": "Number",
36       "doc": "<p>The number of clicks on a grid required to display the editor (defaults to 2).</p>\n",
37       "private": false,
38       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/Editing.js",
39       "linenr": 26,
40       "html_filename": "Editing.html",
41       "href": "Editing.html#Ext-grid-plugin-Editing-cfg-clicksToEdit"
42     },
43     {
44       "tagname": "cfg",
45       "name": "clicksToMoveEditor",
46       "member": "Ext.grid.plugin.RowEditing",
47       "type": "Number",
48       "doc": "<p>The number of clicks to move the row editor to a new row while it is visible and actively editing another row.\nThis will default to the same value as <a href=\"#/api/Ext.grid.plugin.Editing-cfg-clicksToEdit\" rel=\"Ext.grid.plugin.Editing-cfg-clicksToEdit\" class=\"docClass\">clicksToEdit</a>.</p>\n",
49       "private": false,
50       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/RowEditing.js",
51       "linenr": 82,
52       "html_filename": "RowEditing.html",
53       "href": "RowEditing.html#Ext-grid-plugin-RowEditing-cfg-clicksToMoveEditor",
54       "shortDoc": "The number of clicks to move the row editor to a new row while it is visible and actively editing another row.\nThis w..."
55     },
56     {
57       "tagname": "cfg",
58       "name": "errorSummary",
59       "member": "Ext.grid.plugin.RowEditing",
60       "type": "Boolean",
61       "doc": "<p><code>true</code> to show a <a href=\"#/api/Ext.tip.ToolTip\" rel=\"Ext.tip.ToolTip\" class=\"docClass\">tooltip</a> that summarizes all validation errors present\nin the row editor. Set to <code>false</code> to prevent the tooltip from showing. Defaults to <code>true</code>.</p>\n",
62       "private": false,
63       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/RowEditing.js",
64       "linenr": 89,
65       "html_filename": "RowEditing.html",
66       "href": "RowEditing.html#Ext-grid-plugin-RowEditing-cfg-errorSummary",
67       "shortDoc": "true to show a tooltip that summarizes all validation errors present\nin the row editor. Set to false to prevent the t..."
68     },
69     {
70       "tagname": "cfg",
71       "name": "listeners",
72       "member": "Ext.util.Observable",
73       "type": "Object",
74       "doc": "<p>(optional) <p>A config object containing one or more event handlers to be added to this\nobject during initialization.  This should be a valid listeners config object as specified in the\n<a href=\"#/api/Ext.grid.plugin.RowEditing-method-addListener\" rel=\"Ext.grid.plugin.RowEditing-method-addListener\" class=\"docClass\">addListener</a> example for attaching multiple handlers at once.</p></p>\n\n<br><p><b><u>DOM events from ExtJs <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a></u></b></p>\n\n\n<br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. \"click\", \"mouseover\" etc), this\n\n\n<p>is usually only done when extra value can be added. For example the <a href=\"#/api/Ext.view.View\" rel=\"Ext.view.View\" class=\"docClass\">DataView</a>'s\n<b><code><a href=\"#/api/Ext.view.View--click\" rel=\"Ext.view.View--click\" class=\"docClass\">click</a></code></b> event passing the node clicked on. To access DOM\nevents directly from a child element of a Component, we need to specify the <code>element</code> option to\nidentify the Component property to add a DOM listener to:</p>\n\n<pre><code>new Ext.panel.Panel({\n    width: 400,\n    height: 200,\n    dockedItems: [{\n        xtype: 'toolbar'\n    }],\n    listeners: {\n        click: {\n            element: 'el', //bind to the underlying el property on the panel\n            fn: function(){ console.log('click el'); }\n        },\n        dblclick: {\n            element: 'body', //bind to the underlying body property on the panel\n            fn: function(){ console.log('dblclick body'); }\n        }\n    }\n});\n</code></pre>\n\n\n<p></p></p>\n",
75       "private": false,
76       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
77       "linenr": 103,
78       "html_filename": "Observable.html",
79       "href": "Observable.html#Ext-util-Observable-cfg-listeners",
80       "shortDoc": "(optional) A config object containing one or more event handlers to be added to this\nobject during initialization.  T..."
81     }
82   ],
83   "method": [
84     {
85       "tagname": "method",
86       "name": "addEvents",
87       "member": "Ext.util.Observable",
88       "doc": "<p>Adds the specified events to the list of events which this Observable may fire.</p>\n",
89       "params": [
90         {
91           "type": "Object/String",
92           "name": "o",
93           "doc": "<p>Either an object with event names as properties with a value of <code>true</code>\nor the first event name string if multiple event names are being passed as separate parameters.</p>\n",
94           "optional": false
95         },
96         {
97           "type": "String",
98           "name": "",
99           "doc": "<p>[additional] Optional additional event names if multiple event names are being passed as separate parameters.\nUsage:</p>\n\n<pre><code>this.addEvents('storeloaded', 'storecleared');\n</code></pre>\n\n",
100           "optional": false
101         }
102       ],
103       "return": {
104         "type": "void",
105         "doc": "\n"
106       },
107       "private": false,
108       "static": false,
109       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
110       "linenr": 452,
111       "html_filename": "Observable.html",
112       "href": "Observable.html#Ext-util-Observable-method-addEvents",
113       "shortDoc": "<p>Adds the specified events to the list of events which this Observable may fire.</p>\n"
114     },
115     {
116       "tagname": "method",
117       "name": "addListener",
118       "member": "Ext.util.Observable",
119       "doc": "<p>Appends an event handler to this object.</p>\n",
120       "params": [
121         {
122           "type": "String",
123           "name": "eventName",
124           "doc": "<p>The name of the event to listen for. May also be an object who's property names are event names. See</p>\n",
125           "optional": false
126         },
127         {
128           "type": "Function",
129           "name": "handler",
130           "doc": "<p>The method the event invokes.</p>\n",
131           "optional": false
132         },
133         {
134           "type": "Object",
135           "name": "scope",
136           "doc": "<p>(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.\n<b>If omitted, defaults to the object which fired the event.</b></p>\n",
137           "optional": true
138         },
139         {
140           "type": "Object",
141           "name": "options",
142           "doc": "<p>(optional) An object containing handler configuration.\nproperties. This may contain any of the following properties:<ul>\n<li><b>scope</b> : Object<div class=\"sub-desc\">The scope (<code><b>this</b></code> reference) in which the handler function is executed.\n<b>If omitted, defaults to the object which fired the event.</b></div></li>\n<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>\n<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>\n<li><b>buffer</b> : Number<div class=\"sub-desc\">Causes the handler to be scheduled to run in an <a href=\"#/api/Ext.util.DelayedTask\" rel=\"Ext.util.DelayedTask\" class=\"docClass\">Ext.util.DelayedTask</a> delayed\nby the specified number of milliseconds. If the event fires again within that time, the original\nhandler is <em>not</em> invoked, but the new handler is scheduled in its place.</div></li>\n<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>\nif the event was bubbled up from a child Observable.</div></li>\n<li><b>element</b> : String<div class=\"sub-desc\"><b>This option is only valid for listeners bound to <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a>.</b>\nThe name of a Component property which references an element to add a listener to.</p>\n\n<p>This option is useful during Component construction to add DOM event listeners to elements of <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a> which\nwill exist only after the Component is rendered. For example, to add a click listener to a Panel's body:\n<pre><code>new Ext.panel.Panel({\n    title: 'The title',\n    listeners: {\n        click: this.handlePanelClick,\n        element: 'body'\n    }\n});\n</code></pre></p>\n\n\n<p>When added in this way, the options available are the options applicable to <a href=\"#/api/Ext.core.Element-method-addListener\" rel=\"Ext.core.Element-method-addListener\" class=\"docClass\">Ext.core.Element.addListener</a></p>\n\n\n<p></div></li>\n</ul><br></p>\n\n<p>\n<b>Combining Options</b><br>\nUsing the options argument, it is possible to combine different types of listeners:<br>\n<br>\nA delayed, one-time listener.\n<pre><code>myPanel.on('hide', this.handleClick, this, {\nsingle: true,\ndelay: 100\n});</code></pre>\n<p>\n<b>Attaching multiple handlers in 1 call</b><br>\nThe method also allows for a single argument to be passed which is a config object containing properties\nwhich specify multiple events. For example:\n<pre><code>myGridPanel.on({\n    cellClick: this.onCellClick,\n    mouseover: this.onMouseOver,\n    mouseout: this.onMouseOut,\n    scope: this // Important. Ensure \"this\" is correct during handler execution\n});\n</code></pre>.\n<p>\n\n",
143           "optional": true
144         }
145       ],
146       "return": {
147         "type": "void",
148         "doc": "\n"
149       },
150       "private": false,
151       "static": false,
152       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
153       "linenr": 271,
154       "html_filename": "Observable.html",
155       "href": "Observable.html#Ext-util-Observable-method-addListener",
156       "shortDoc": "<p>Appends an event handler to this object.</p>\n"
157     },
158     {
159       "tagname": "method",
160       "name": "addManagedListener",
161       "member": "Ext.util.Observable",
162       "doc": "<p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component\nis destroyed.\n\n",
163       "params": [
164         {
165           "type": "Observable/Element",
166           "name": "item",
167           "doc": "<p>The item to which to add a listener/listeners.</p>\n",
168           "optional": false
169         },
170         {
171           "type": "Object/String",
172           "name": "ename",
173           "doc": "<p>The event name, or an object containing event name properties.</p>\n",
174           "optional": false
175         },
176         {
177           "type": "Function",
178           "name": "fn",
179           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the handler function.</p>\n",
180           "optional": false
181         },
182         {
183           "type": "Object",
184           "name": "scope",
185           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the scope (<code>this</code> reference) in which the handler function is executed.</p>\n",
186           "optional": false
187         },
188         {
189           "type": "Object",
190           "name": "opt",
191           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the <a href=\"#/api/Ext.util.Observable-method-addListener\" rel=\"Ext.util.Observable-method-addListener\" class=\"docClass\">addListener</a> options.</p>\n",
192           "optional": false
193         }
194       ],
195       "return": {
196         "type": "void",
197         "doc": "\n"
198       },
199       "private": false,
200       "static": false,
201       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
202       "linenr": 155,
203       "html_filename": "Observable.html",
204       "href": "Observable.html#Ext-util-Observable-method-addManagedListener",
205       "shortDoc": "<p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component\nis destroyed.\n\n"
206     },
207     {
208       "tagname": "method",
209       "name": "cancelEdit",
210       "member": "Ext.grid.plugin.Editing",
211       "doc": "<p>Cancel any active edit that is in progress.</p>\n",
212       "params": [
213
214       ],
215       "return": {
216         "type": "void",
217         "doc": "\n"
218       },
219       "private": false,
220       "static": false,
221       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/Editing.js",
222       "linenr": 303,
223       "html_filename": "Editing.html",
224       "href": "Editing.html#Ext-grid-plugin-Editing-method-cancelEdit",
225       "shortDoc": "<p>Cancel any active edit that is in progress.</p>\n"
226     },
227     {
228       "tagname": "method",
229       "name": "capture",
230       "member": "Ext.util.Observable",
231       "doc": "<p>Starts capture on the specified Observable. All events will be passed\nto the supplied function with the event name + standard signature of the event\n<b>before</b> the event is fired. If the supplied function returns false,\nthe event will not fire.</p>\n",
232       "params": [
233         {
234           "type": "Observable",
235           "name": "o",
236           "doc": "<p>The Observable to capture events from.</p>\n",
237           "optional": false
238         },
239         {
240           "type": "Function",
241           "name": "fn",
242           "doc": "<p>The function to call when an event is fired.</p>\n",
243           "optional": false
244         },
245         {
246           "type": "Object",
247           "name": "scope",
248           "doc": "<p>(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to the Observable firing the event.</p>\n",
249           "optional": true
250         }
251       ],
252       "return": {
253         "type": "void",
254         "doc": "\n"
255       },
256       "private": false,
257       "static": true,
258       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
259       "linenr": 55,
260       "html_filename": "Observable.html",
261       "href": "Observable.html#Ext-util-Observable-method-capture",
262       "shortDoc": "Starts capture on the specified Observable. All events will be passed\nto the supplied function with the event name + ..."
263     },
264     {
265       "tagname": "method",
266       "name": "clearListeners",
267       "member": "Ext.util.Observable",
268       "doc": "<p>Removes all listeners for this object including the managed listeners</p>\n",
269       "params": [
270
271       ],
272       "return": {
273         "type": "void",
274         "doc": "\n"
275       },
276       "private": false,
277       "static": false,
278       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
279       "linenr": 383,
280       "html_filename": "Observable.html",
281       "href": "Observable.html#Ext-util-Observable-method-clearListeners",
282       "shortDoc": "<p>Removes all listeners for this object including the managed listeners</p>\n"
283     },
284     {
285       "tagname": "method",
286       "name": "clearManagedListeners",
287       "member": "Ext.util.Observable",
288       "doc": "<p>Removes all managed listeners for this object.</p>\n",
289       "params": [
290
291       ],
292       "return": {
293         "type": "void",
294         "doc": "\n"
295       },
296       "private": false,
297       "static": false,
298       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
299       "linenr": 412,
300       "html_filename": "Observable.html",
301       "href": "Observable.html#Ext-util-Observable-method-clearManagedListeners",
302       "shortDoc": "<p>Removes all managed listeners for this object.</p>\n"
303     },
304     {
305       "tagname": "method",
306       "name": "completeEdit",
307       "member": "Ext.grid.plugin.Editing",
308       "doc": "<p>Complete the edit if there is an active edit in progress.</p>\n",
309       "params": [
310
311       ],
312       "return": {
313         "type": "void",
314         "doc": "\n"
315       },
316       "private": false,
317       "static": false,
318       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/Editing.js",
319       "linenr": 310,
320       "html_filename": "Editing.html",
321       "href": "Editing.html#Ext-grid-plugin-Editing-method-completeEdit",
322       "shortDoc": "<p>Complete the edit if there is an active edit in progress.</p>\n"
323     },
324     {
325       "tagname": "method",
326       "name": "enableBubble",
327       "member": "Ext.util.Observable",
328       "doc": "<p>Enables events fired by this Observable to bubble up an owner hierarchy by calling\n<code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>\n\n\n<p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href=\"#/api/Ext.Component-method-getBubbleTarget\" rel=\"Ext.Component-method-getBubbleTarget\" class=\"docClass\">Ext.Component.getBubbleTarget</a>. The default\nimplementation in <a href=\"#/api/Ext.Component\" 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\naccess the required target more quickly.</p>\n\n\n<p>Example:</p>\n\n\n<pre><code>Ext.override(Ext.form.field.Base, {\n//  Add functionality to Field&#39;s initComponent to enable the change event to bubble\ninitComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, function() {\n    this.enableBubble('change');\n}),\n\n//  We know that we want Field&#39;s events to bubble directly to the FormPanel.\ngetBubbleTarget : function() {\n    if (!this.formPanel) {\n        this.formPanel = this.findParentByType('form');\n    }\n    return this.formPanel;\n}\n});\n\nvar myForm = new Ext.formPanel({\ntitle: 'User Details',\nitems: [{\n    ...\n}],\nlisteners: {\n    change: function() {\n        // Title goes red if form has been modified.\n        myForm.header.setStyle('color', 'red');\n    }\n}\n});\n</code></pre>\n\n",
329       "params": [
330         {
331           "type": "String/Array",
332           "name": "events",
333           "doc": "<p>The event name to bubble, or an Array of event names.</p>\n",
334           "optional": false
335         }
336       ],
337       "return": {
338         "type": "void",
339         "doc": "\n"
340       },
341       "private": false,
342       "static": false,
343       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
344       "linenr": 554,
345       "html_filename": "Observable.html",
346       "href": "Observable.html#Ext-util-Observable-method-enableBubble",
347       "shortDoc": "Enables events fired by this Observable to bubble up an owner hierarchy by calling\nthis.getBubbleTarget() if present...."
348     },
349     {
350       "tagname": "method",
351       "name": "fireEvent",
352       "member": "Ext.util.Observable",
353       "doc": "<p>Fires the specified event with the passed parameters (minus the event name).</p>\n\n\n<p>An event may be set to bubble up an Observable parent hierarchy (See <a href=\"#/api/Ext.Component-method-getBubbleTarget\" rel=\"Ext.Component-method-getBubbleTarget\" class=\"docClass\">Ext.Component.getBubbleTarget</a>)\nby calling <a href=\"#/api/Ext.grid.plugin.RowEditing-method-enableBubble\" rel=\"Ext.grid.plugin.RowEditing-method-enableBubble\" class=\"docClass\">enableBubble</a>.</p>\n\n",
354       "params": [
355         {
356           "type": "String",
357           "name": "eventName",
358           "doc": "<p>The name of the event to fire.</p>\n",
359           "optional": false
360         },
361         {
362           "type": "Object...",
363           "name": "args",
364           "doc": "<p>Variable number of parameters are passed to handlers.</p>\n",
365           "optional": false
366         }
367       ],
368       "return": {
369         "type": "Boolean",
370         "doc": "<p>returns false if any of the handlers return false otherwise it returns true.</p>\n"
371       },
372       "private": false,
373       "static": false,
374       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
375       "linenr": 232,
376       "html_filename": "Observable.html",
377       "href": "Observable.html#Ext-util-Observable-method-fireEvent",
378       "shortDoc": "Fires the specified event with the passed parameters (minus the event name).\n\n\nAn event may be set to bubble up an Ob..."
379     },
380     {
381       "tagname": "method",
382       "name": "hasListener",
383       "member": "Ext.util.Observable",
384       "doc": "<p>Checks to see if this object has any listeners for a specified event</p>\n",
385       "params": [
386         {
387           "type": "String",
388           "name": "eventName",
389           "doc": "<p>The name of the event to check for</p>\n",
390           "optional": false
391         }
392       ],
393       "return": {
394         "type": "Boolean",
395         "doc": "<p>True if the event is being listened for, else false</p>\n"
396       },
397       "private": false,
398       "static": false,
399       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
400       "linenr": 480,
401       "html_filename": "Observable.html",
402       "href": "Observable.html#Ext-util-Observable-method-hasListener",
403       "shortDoc": "<p>Checks to see if this object has any listeners for a specified event</p>\n"
404     },
405     {
406       "tagname": "method",
407       "name": "observe",
408       "member": "Ext.util.Observable",
409       "doc": "<p>Sets observability on the passed class constructor.</p>\n\n<p>This makes any event fired on any instance of the passed class also fire a single event through\nthe <strong>class</strong> allowing for central handling of events on many instances at once.</p>\n\n<p>Usage:</p>\n\n<pre><code>Ext.util.Observable.observe(Ext.data.Connection);\nExt.data.Connection.on('beforerequest', function(con, options) {\n    console.log('Ajax request made to ' + options.url);\n});\n</code></pre>\n",
410       "params": [
411         {
412           "type": "Function",
413           "name": "c",
414           "doc": "<p>The class constructor to make observable.</p>\n",
415           "optional": false
416         },
417         {
418           "type": "Object",
419           "name": "listeners",
420           "doc": "<p>An object containing a series of listeners to add. See <a href=\"#/api/Ext.grid.plugin.RowEditing-method-addListener\" rel=\"Ext.grid.plugin.RowEditing-method-addListener\" class=\"docClass\">addListener</a>.</p>\n",
421           "optional": false
422         }
423       ],
424       "return": {
425         "type": "void",
426         "doc": "\n"
427       },
428       "private": false,
429       "static": true,
430       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
431       "linenr": 69,
432       "html_filename": "Observable.html",
433       "href": "Observable.html#Ext-util-Observable-method-observe",
434       "shortDoc": "Sets observability on the passed class constructor.\n\nThis makes any event fired on any instance of the passed class a..."
435     },
436     {
437       "tagname": "method",
438       "name": "on",
439       "member": "Ext.util.Observable",
440       "doc": "<p>Appends an event handler to this object (shorthand for <a href=\"#/api/Ext.grid.plugin.RowEditing-method-addListener\" rel=\"Ext.grid.plugin.RowEditing-method-addListener\" class=\"docClass\">addListener</a>.)</p>\n",
441       "params": [
442         {
443           "type": "String",
444           "name": "eventName",
445           "doc": "<p>The type of event to listen for</p>\n",
446           "optional": false
447         },
448         {
449           "type": "Function",
450           "name": "handler",
451           "doc": "<p>The method the event invokes</p>\n",
452           "optional": false
453         },
454         {
455           "type": "Object",
456           "name": "scope",
457           "doc": "<p>(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.\n<b>If omitted, defaults to the object which fired the event.</b></p>\n",
458           "optional": true
459         },
460         {
461           "type": "Object",
462           "name": "options",
463           "doc": "<p>(optional) An object containing handler configuration.</p>\n",
464           "optional": true
465         }
466       ],
467       "return": {
468         "type": "void",
469         "doc": "\n"
470       },
471       "private": false,
472       "static": false,
473       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
474       "linenr": 616,
475       "html_filename": "Observable.html",
476       "href": "Observable.html#Ext-util-Observable-method-on",
477       "shortDoc": "<p>Appends an event handler to this object (shorthand for <a href=\"#/api/Ext.grid.plugin.RowEditing-method-addListener\" rel=\"Ext.grid.plugin.RowEditing-method-addListener\" class=\"docClass\">addListener</a>.)</p>\n"
478     },
479     {
480       "tagname": "method",
481       "name": "relayEvents",
482       "member": "Ext.util.Observable",
483       "doc": "<p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>\n",
484       "params": [
485         {
486           "type": "Object",
487           "name": "origin",
488           "doc": "<p>The Observable whose events this object is to relay.</p>\n",
489           "optional": false
490         },
491         {
492           "type": "Array",
493           "name": "events",
494           "doc": "<p>Array of event names to relay.</p>\n",
495           "optional": false
496         },
497         {
498           "type": "Object",
499           "name": "prefix",
500           "doc": "\n",
501           "optional": false
502         }
503       ],
504       "return": {
505         "type": "void",
506         "doc": "\n"
507       },
508       "private": false,
509       "static": false,
510       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
511       "linenr": 520,
512       "html_filename": "Observable.html",
513       "href": "Observable.html#Ext-util-Observable-method-relayEvents",
514       "shortDoc": "<p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>\n"
515     },
516     {
517       "tagname": "method",
518       "name": "releaseCapture",
519       "member": "Ext.util.Observable",
520       "doc": "<p>Removes <b>all</b> added captures from the Observable.</p>\n",
521       "params": [
522         {
523           "type": "Observable",
524           "name": "o",
525           "doc": "<p>The Observable to release</p>\n",
526           "optional": false
527         }
528       ],
529       "return": {
530         "type": "void",
531         "doc": "\n"
532       },
533       "private": false,
534       "static": true,
535       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
536       "linenr": 46,
537       "html_filename": "Observable.html",
538       "href": "Observable.html#Ext-util-Observable-method-releaseCapture",
539       "shortDoc": "<p>Removes <b>all</b> added captures from the Observable.</p>\n"
540     },
541     {
542       "tagname": "method",
543       "name": "removeListener",
544       "member": "Ext.util.Observable",
545       "doc": "<p>Removes an event handler.</p>\n",
546       "params": [
547         {
548           "type": "String",
549           "name": "eventName",
550           "doc": "<p>The type of event the handler was associated with.</p>\n",
551           "optional": false
552         },
553         {
554           "type": "Function",
555           "name": "handler",
556           "doc": "<p>The handler to remove. <b>This must be a reference to the function passed into the <a href=\"#/api/Ext.grid.plugin.RowEditing-method-addListener\" rel=\"Ext.grid.plugin.RowEditing-method-addListener\" class=\"docClass\">addListener</a> call.</b></p>\n",
557           "optional": false
558         },
559         {
560           "type": "Object",
561           "name": "scope",
562           "doc": "<p>(optional) The scope originally specified for the handler.</p>\n",
563           "optional": true
564         }
565       ],
566       "return": {
567         "type": "void",
568         "doc": "\n"
569       },
570       "private": false,
571       "static": false,
572       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
573       "linenr": 352,
574       "html_filename": "Observable.html",
575       "href": "Observable.html#Ext-util-Observable-method-removeListener",
576       "shortDoc": "<p>Removes an event handler.</p>\n"
577     },
578     {
579       "tagname": "method",
580       "name": "removeManagedListener",
581       "member": "Ext.util.Observable",
582       "doc": "<p>Removes listeners that were added by the <a href=\"#/api/Ext.grid.plugin.RowEditing--mon\" rel=\"Ext.grid.plugin.RowEditing--mon\" class=\"docClass\">mon</a> method.</p>\n",
583       "params": [
584         {
585           "type": "Observable|Element",
586           "name": "item",
587           "doc": "<p>The item from which to remove a listener/listeners.</p>\n",
588           "optional": false
589         },
590         {
591           "type": "Object|String",
592           "name": "ename",
593           "doc": "<p>The event name, or an object containing event name properties.</p>\n",
594           "optional": false
595         },
596         {
597           "type": "Function",
598           "name": "fn",
599           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the handler function.</p>\n",
600           "optional": false
601         },
602         {
603           "type": "Object",
604           "name": "scope",
605           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the scope (<code>this</code> reference) in which the handler function is executed.</p>\n",
606           "optional": false
607         }
608       ],
609       "return": {
610         "type": "void",
611         "doc": "\n"
612       },
613       "private": false,
614       "static": false,
615       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
616       "linenr": 196,
617       "html_filename": "Observable.html",
618       "href": "Observable.html#Ext-util-Observable-method-removeManagedListener",
619       "shortDoc": "<p>Removes listeners that were added by the <a href=\"#/api/Ext.grid.plugin.RowEditing--mon\" rel=\"Ext.grid.plugin.RowEditing--mon\" class=\"docClass\">mon</a> method.</p>\n"
620     },
621     {
622       "tagname": "method",
623       "name": "resumeEvents",
624       "member": "Ext.util.Observable",
625       "doc": "<p>Resume firing events. (see <a href=\"#/api/Ext.grid.plugin.RowEditing-method-suspendEvents\" rel=\"Ext.grid.plugin.RowEditing-method-suspendEvents\" class=\"docClass\">suspendEvents</a>)\nIf events were suspended using the <code><b>queueSuspended</b></code> parameter, then all\nevents fired during event suspension will be sent to any listeners now.</p>\n",
626       "params": [
627
628       ],
629       "return": {
630         "type": "void",
631         "doc": "\n"
632       },
633       "private": false,
634       "static": false,
635       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
636       "linenr": 502,
637       "html_filename": "Observable.html",
638       "href": "Observable.html#Ext-util-Observable-method-resumeEvents",
639       "shortDoc": "Resume firing events. (see suspendEvents)\nIf events were suspended using the queueSuspended parameter, then all\nevent..."
640     },
641     {
642       "tagname": "method",
643       "name": "startEdit",
644       "member": "Ext.grid.plugin.RowEditing",
645       "doc": "<p>Start editing the specified record, using the specified Column definition to define which field is being edited.</p>\n",
646       "params": [
647         {
648           "type": "Model",
649           "name": "record",
650           "doc": "<p>The Store data record which backs the row to be edited.</p>\n",
651           "optional": false
652         },
653         {
654           "type": "Model",
655           "name": "columnHeader",
656           "doc": "<p>The Column object defining the column to be edited.\n@override</p>\n",
657           "optional": false
658         }
659       ],
660       "return": {
661         "type": "void",
662         "doc": "\n"
663       },
664       "private": false,
665       "static": false,
666       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/RowEditing.js",
667       "linenr": 193,
668       "html_filename": "RowEditing.html",
669       "href": "RowEditing.html#Ext-grid-plugin-RowEditing-method-startEdit",
670       "shortDoc": "<p>Start editing the specified record, using the specified Column definition to define which field is being edited.</p>\n"
671     },
672     {
673       "tagname": "method",
674       "name": "suspendEvents",
675       "member": "Ext.util.Observable",
676       "doc": "<p>Suspend the firing of all events. (see <a href=\"#/api/Ext.grid.plugin.RowEditing-method-resumeEvents\" rel=\"Ext.grid.plugin.RowEditing-method-resumeEvents\" class=\"docClass\">resumeEvents</a>)</p>\n",
677       "params": [
678         {
679           "type": "Boolean",
680           "name": "queueSuspended",
681           "doc": "<p>Pass as true to queue up suspended events to be fired\nafter the <a href=\"#/api/Ext.grid.plugin.RowEditing-method-resumeEvents\" rel=\"Ext.grid.plugin.RowEditing-method-resumeEvents\" class=\"docClass\">resumeEvents</a> call instead of discarding all suspended events;</p>\n",
682           "optional": false
683         }
684       ],
685       "return": {
686         "type": "void",
687         "doc": "\n"
688       },
689       "private": false,
690       "static": false,
691       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
692       "linenr": 490,
693       "html_filename": "Observable.html",
694       "href": "Observable.html#Ext-util-Observable-method-suspendEvents",
695       "shortDoc": "<p>Suspend the firing of all events. (see <a href=\"#/api/Ext.grid.plugin.RowEditing-method-resumeEvents\" rel=\"Ext.grid.plugin.RowEditing-method-resumeEvents\" class=\"docClass\">resumeEvents</a>)</p>\n"
696     },
697     {
698       "tagname": "method",
699       "name": "un",
700       "member": "Ext.util.Observable",
701       "doc": "<p>Removes an event handler (shorthand for <a href=\"#/api/Ext.grid.plugin.RowEditing-method-removeListener\" rel=\"Ext.grid.plugin.RowEditing-method-removeListener\" class=\"docClass\">removeListener</a>.)</p>\n",
702       "params": [
703         {
704           "type": "String",
705           "name": "eventName",
706           "doc": "<p>The type of event the handler was associated with.</p>\n",
707           "optional": false
708         },
709         {
710           "type": "Function",
711           "name": "handler",
712           "doc": "<p>The handler to remove. <b>This must be a reference to the function passed into the <a href=\"#/api/Ext.grid.plugin.RowEditing-method-addListener\" rel=\"Ext.grid.plugin.RowEditing-method-addListener\" class=\"docClass\">addListener</a> call.</b></p>\n",
713           "optional": false
714         },
715         {
716           "type": "Object",
717           "name": "scope",
718           "doc": "<p>(optional) The scope originally specified for the handler.</p>\n",
719           "optional": true
720         }
721       ],
722       "return": {
723         "type": "void",
724         "doc": "\n"
725       },
726       "private": false,
727       "static": false,
728       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
729       "linenr": 608,
730       "html_filename": "Observable.html",
731       "href": "Observable.html#Ext-util-Observable-method-un",
732       "shortDoc": "<p>Removes an event handler (shorthand for <a href=\"#/api/Ext.grid.plugin.RowEditing-method-removeListener\" rel=\"Ext.grid.plugin.RowEditing-method-removeListener\" class=\"docClass\">removeListener</a>.)</p>\n"
733     }
734   ],
735   "property": [
736
737   ],
738   "event": [
739     {
740       "tagname": "event",
741       "name": "beforeedit",
742       "member": "Ext.grid.plugin.RowEditing",
743       "doc": "<p>Fires before row editing is triggered. The edit event object has the following properties <br /></p>\n\n<ul style=\"padding:5px;padding-left:16px;\">\n<li>grid - The grid this editor is on</li>\n<li>view - The grid view</li>\n<li>store - The grid store</li>\n<li>record - The record being edited</li>\n<li>row - The grid table row</li>\n<li>column - The grid <a href=\"#/api/Ext.grid.column.Column\" rel=\"Ext.grid.column.Column\" class=\"docClass\">Column</a> defining the column that initiated the edit</li>\n<li>rowIdx - The row index that is being edited</li>\n<li>colIdx - The column index that initiated the edit</li>\n<li>cancel - Set this to true to cancel the edit or return false from your handler.</li>\n</ul>\n\n",
744       "params": [
745         {
746           "type": "Ext.grid.plugin.Editing",
747           "name": "editor",
748           "doc": "\n",
749           "optional": false
750         },
751         {
752           "type": "Object",
753           "name": "e",
754           "doc": "<p>An edit event (see above for description)</p>\n",
755           "optional": false
756         }
757       ],
758       "private": false,
759       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/RowEditing.js",
760       "linenr": 97,
761       "html_filename": "RowEditing.html",
762       "href": "RowEditing.html#Ext-grid-plugin-RowEditing-event-beforeedit",
763       "shortDoc": "Fires before row editing is triggered. The edit event object has the following properties \n\n\ngrid - The grid this edi..."
764     },
765     {
766       "tagname": "event",
767       "name": "edit",
768       "member": "Ext.grid.plugin.RowEditing",
769       "doc": "<p>Fires after a row is edited. The edit event object has the following properties <br /></p>\n\n<ul style=\"padding:5px;padding-left:16px;\">\n<li>grid - The grid this editor is on</li>\n<li>view - The grid view</li>\n<li>store - The grid store</li>\n<li>record - The record being edited</li>\n<li>row - The grid table row</li>\n<li>column - The grid <a href=\"#/api/Ext.grid.column.Column\" rel=\"Ext.grid.column.Column\" class=\"docClass\">Column</a> defining the column that initiated the edit</li>\n<li>rowIdx - The row index that is being edited</li>\n<li>colIdx - The column index that initiated the edit</li>\n</ul>\n\n\n\n\n<pre><code>grid.on('edit', onEdit, this);\n\nfunction onEdit(e) {\n    // execute an XHR to send/commit data to the server, in callback do (if successful):\n    e.record.commit();\n};\n</code></pre>\n\n",
770       "params": [
771         {
772           "type": "Ext.grid.plugin.Editing",
773           "name": "editor",
774           "doc": "\n",
775           "optional": false
776         },
777         {
778           "type": "Object",
779           "name": "e",
780           "doc": "<p>An edit event (see above for description)</p>\n",
781           "optional": false
782         }
783       ],
784       "private": false,
785       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/RowEditing.js",
786       "linenr": 114,
787       "html_filename": "RowEditing.html",
788       "href": "RowEditing.html#Ext-grid-plugin-RowEditing-event-edit",
789       "shortDoc": "Fires after a row is edited. The edit event object has the following properties \n\n\ngrid - The grid this editor is on\n..."
790     },
791     {
792       "tagname": "event",
793       "name": "validateedit",
794       "member": "Ext.grid.plugin.RowEditing",
795       "doc": "<p>Fires after a cell is edited, but before the value is set in the record. Return false\nto cancel the change. The edit event object has the following properties <br /></p>\n\n<ul style=\"padding:5px;padding-left:16px;\">\n<li>grid - The grid this editor is on</li>\n<li>view - The grid view</li>\n<li>store - The grid store</li>\n<li>record - The record being edited</li>\n<li>row - The grid table row</li>\n<li>column - The grid <a href=\"#/api/Ext.grid.column.Column\" rel=\"Ext.grid.column.Column\" class=\"docClass\">Column</a> defining the column that initiated the edit</li>\n<li>rowIdx - The row index that is being edited</li>\n<li>colIdx - The column index that initiated the edit</li>\n<li>cancel - Set this to true to cancel the edit or return false from your handler.</li>\n</ul>\n\n\n<p>Usage example showing how to remove the red triangle (dirty record indicator) from some\nrecords (not all).  By observing the grid's validateedit event, it can be cancelled if\nthe edit occurs on a targeted row (for example) and then setting the field's new value\nin the Record directly:</p>\n\n<pre><code>grid.on('validateedit', function(e) {\n  var myTargetRow = 6;\n\n  if (e.rowIdx == myTargetRow) {\n    e.cancel = true;\n    e.record.data[e.field] = e.value;\n  }\n});\n</code></pre>\n\n",
796       "params": [
797         {
798           "type": "Ext.grid.plugin.Editing",
799           "name": "editor",
800           "doc": "\n",
801           "optional": false
802         },
803         {
804           "type": "Object",
805           "name": "e",
806           "doc": "<p>An edit event (see above for description)</p>\n",
807           "optional": false
808         }
809       ],
810       "private": false,
811       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/RowEditing.js",
812       "linenr": 139,
813       "html_filename": "RowEditing.html",
814       "href": "RowEditing.html#Ext-grid-plugin-RowEditing-event-validateedit",
815       "shortDoc": "Fires after a cell is edited, but before the value is set in the record. Return false\nto cancel the change. The edit ..."
816     }
817   ],
818   "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/RowEditing.js",
819   "linenr": 1,
820   "html_filename": "RowEditing.html",
821   "href": "RowEditing.html#Ext-grid-plugin-RowEditing",
822   "cssVar": [
823
824   ],
825   "cssMixin": [
826
827   ],
828   "component": false,
829   "superclasses": [
830     "Ext.grid.plugin.Editing"
831   ],
832   "subclasses": [
833
834   ],
835   "mixedInto": [
836
837   ],
838   "allMixins": [
839     "Ext.util.Observable"
840   ]
841 });