Upgrade to ExtJS 4.0.1 - Released 05/18/2011
[extjs.git] / docs / output / Ext.grid.plugin.CellEditing.js
1 Ext.data.JsonP.Ext_grid_plugin_CellEditing({
2   "tagname": "class",
3   "name": "Ext.grid.plugin.CellEditing",
4   "doc": "<p>The <a href=\"#/api/Ext.grid.plugin.CellEditing\" rel=\"Ext.grid.plugin.CellEditing\" class=\"docClass\">Ext.grid.plugin.CellEditing</a> plugin injects editing at a cell level for a Grid. Only a single\ncell will be editable at a time. 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.</p>\n\n<p>If an editor is not specified for a particular column then that cell will not be editable and it will\nbe skipped when activated via the mouse or the keyboard.</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.CellEditing/Ext.grid.plugin.CellEditing.png\" alt=\"Ext.grid.plugin.CellEditing 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: 'cellmodel',\n    plugins: [\n        Ext.create('Ext.grid.plugin.CellEditing', {\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": "clicksToEdit",
21       "member": "Ext.grid.plugin.Editing",
22       "type": "Number",
23       "doc": "<p>The number of clicks on a grid required to display the editor (defaults to 2).</p>\n",
24       "private": false,
25       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/Editing.js",
26       "linenr": 26,
27       "html_filename": "Editing.html",
28       "href": "Editing.html#Ext-grid-plugin-Editing-cfg-clicksToEdit"
29     },
30     {
31       "tagname": "cfg",
32       "name": "listeners",
33       "member": "Ext.util.Observable",
34       "type": "Object",
35       "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.CellEditing-method-addListener\" rel=\"Ext.grid.plugin.CellEditing-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",
36       "private": false,
37       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
38       "linenr": 103,
39       "html_filename": "Observable.html",
40       "href": "Observable.html#Ext-util-Observable-cfg-listeners",
41       "shortDoc": "(optional) A config object containing one or more event handlers to be added to this\nobject during initialization.  T..."
42     }
43   ],
44   "method": [
45     {
46       "tagname": "method",
47       "name": "addEvents",
48       "member": "Ext.util.Observable",
49       "doc": "<p>Adds the specified events to the list of events which this Observable may fire.</p>\n",
50       "params": [
51         {
52           "type": "Object/String",
53           "name": "o",
54           "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",
55           "optional": false
56         },
57         {
58           "type": "String",
59           "name": "",
60           "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",
61           "optional": false
62         }
63       ],
64       "return": {
65         "type": "void",
66         "doc": "\n"
67       },
68       "private": false,
69       "static": false,
70       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
71       "linenr": 452,
72       "html_filename": "Observable.html",
73       "href": "Observable.html#Ext-util-Observable-method-addEvents",
74       "shortDoc": "<p>Adds the specified events to the list of events which this Observable may fire.</p>\n"
75     },
76     {
77       "tagname": "method",
78       "name": "addListener",
79       "member": "Ext.util.Observable",
80       "doc": "<p>Appends an event handler to this object.</p>\n",
81       "params": [
82         {
83           "type": "String",
84           "name": "eventName",
85           "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",
86           "optional": false
87         },
88         {
89           "type": "Function",
90           "name": "handler",
91           "doc": "<p>The method the event invokes.</p>\n",
92           "optional": false
93         },
94         {
95           "type": "Object",
96           "name": "scope",
97           "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",
98           "optional": true
99         },
100         {
101           "type": "Object",
102           "name": "options",
103           "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",
104           "optional": true
105         }
106       ],
107       "return": {
108         "type": "void",
109         "doc": "\n"
110       },
111       "private": false,
112       "static": false,
113       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
114       "linenr": 271,
115       "html_filename": "Observable.html",
116       "href": "Observable.html#Ext-util-Observable-method-addListener",
117       "shortDoc": "<p>Appends an event handler to this object.</p>\n"
118     },
119     {
120       "tagname": "method",
121       "name": "addManagedListener",
122       "member": "Ext.util.Observable",
123       "doc": "<p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component\nis destroyed.\n\n",
124       "params": [
125         {
126           "type": "Observable/Element",
127           "name": "item",
128           "doc": "<p>The item to which to add a listener/listeners.</p>\n",
129           "optional": false
130         },
131         {
132           "type": "Object/String",
133           "name": "ename",
134           "doc": "<p>The event name, or an object containing event name properties.</p>\n",
135           "optional": false
136         },
137         {
138           "type": "Function",
139           "name": "fn",
140           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the handler function.</p>\n",
141           "optional": false
142         },
143         {
144           "type": "Object",
145           "name": "scope",
146           "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",
147           "optional": false
148         },
149         {
150           "type": "Object",
151           "name": "opt",
152           "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",
153           "optional": false
154         }
155       ],
156       "return": {
157         "type": "void",
158         "doc": "\n"
159       },
160       "private": false,
161       "static": false,
162       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
163       "linenr": 155,
164       "html_filename": "Observable.html",
165       "href": "Observable.html#Ext-util-Observable-method-addManagedListener",
166       "shortDoc": "<p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component\nis destroyed.\n\n"
167     },
168     {
169       "tagname": "method",
170       "name": "cancelEdit",
171       "member": "Ext.grid.plugin.CellEditing",
172       "doc": "<p>Cancel any active editing.</p>\n",
173       "params": [
174
175       ],
176       "return": {
177         "type": "void",
178         "doc": "\n"
179       },
180       "private": false,
181       "static": false,
182       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/CellEditing.js",
183       "linenr": 355,
184       "html_filename": "CellEditing.html",
185       "href": "CellEditing.html#Ext-grid-plugin-CellEditing-method-cancelEdit",
186       "shortDoc": "<p>Cancel any active editing.</p>\n"
187     },
188     {
189       "tagname": "method",
190       "name": "capture",
191       "member": "Ext.util.Observable",
192       "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",
193       "params": [
194         {
195           "type": "Observable",
196           "name": "o",
197           "doc": "<p>The Observable to capture events from.</p>\n",
198           "optional": false
199         },
200         {
201           "type": "Function",
202           "name": "fn",
203           "doc": "<p>The function to call when an event is fired.</p>\n",
204           "optional": false
205         },
206         {
207           "type": "Object",
208           "name": "scope",
209           "doc": "<p>(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to the Observable firing the event.</p>\n",
210           "optional": true
211         }
212       ],
213       "return": {
214         "type": "void",
215         "doc": "\n"
216       },
217       "private": false,
218       "static": true,
219       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
220       "linenr": 55,
221       "html_filename": "Observable.html",
222       "href": "Observable.html#Ext-util-Observable-method-capture",
223       "shortDoc": "Starts capture on the specified Observable. All events will be passed\nto the supplied function with the event name + ..."
224     },
225     {
226       "tagname": "method",
227       "name": "clearListeners",
228       "member": "Ext.util.Observable",
229       "doc": "<p>Removes all listeners for this object including the managed listeners</p>\n",
230       "params": [
231
232       ],
233       "return": {
234         "type": "void",
235         "doc": "\n"
236       },
237       "private": false,
238       "static": false,
239       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
240       "linenr": 383,
241       "html_filename": "Observable.html",
242       "href": "Observable.html#Ext-util-Observable-method-clearListeners",
243       "shortDoc": "<p>Removes all listeners for this object including the managed listeners</p>\n"
244     },
245     {
246       "tagname": "method",
247       "name": "clearManagedListeners",
248       "member": "Ext.util.Observable",
249       "doc": "<p>Removes all managed listeners for this object.</p>\n",
250       "params": [
251
252       ],
253       "return": {
254         "type": "void",
255         "doc": "\n"
256       },
257       "private": false,
258       "static": false,
259       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
260       "linenr": 412,
261       "html_filename": "Observable.html",
262       "href": "Observable.html#Ext-util-Observable-method-clearManagedListeners",
263       "shortDoc": "<p>Removes all managed listeners for this object.</p>\n"
264     },
265     {
266       "tagname": "method",
267       "name": "completeEdit",
268       "member": "Ext.grid.plugin.Editing",
269       "doc": "<p>Complete the edit if there is an active edit in progress.</p>\n",
270       "params": [
271
272       ],
273       "return": {
274         "type": "void",
275         "doc": "\n"
276       },
277       "private": false,
278       "static": false,
279       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/Editing.js",
280       "linenr": 310,
281       "html_filename": "Editing.html",
282       "href": "Editing.html#Ext-grid-plugin-Editing-method-completeEdit",
283       "shortDoc": "<p>Complete the edit if there is an active edit in progress.</p>\n"
284     },
285     {
286       "tagname": "method",
287       "name": "enableBubble",
288       "member": "Ext.util.Observable",
289       "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",
290       "params": [
291         {
292           "type": "String/Array",
293           "name": "events",
294           "doc": "<p>The event name to bubble, or an Array of event names.</p>\n",
295           "optional": false
296         }
297       ],
298       "return": {
299         "type": "void",
300         "doc": "\n"
301       },
302       "private": false,
303       "static": false,
304       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
305       "linenr": 554,
306       "html_filename": "Observable.html",
307       "href": "Observable.html#Ext-util-Observable-method-enableBubble",
308       "shortDoc": "Enables events fired by this Observable to bubble up an owner hierarchy by calling\nthis.getBubbleTarget() if present...."
309     },
310     {
311       "tagname": "method",
312       "name": "fireEvent",
313       "member": "Ext.util.Observable",
314       "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.CellEditing-method-enableBubble\" rel=\"Ext.grid.plugin.CellEditing-method-enableBubble\" class=\"docClass\">enableBubble</a>.</p>\n\n",
315       "params": [
316         {
317           "type": "String",
318           "name": "eventName",
319           "doc": "<p>The name of the event to fire.</p>\n",
320           "optional": false
321         },
322         {
323           "type": "Object...",
324           "name": "args",
325           "doc": "<p>Variable number of parameters are passed to handlers.</p>\n",
326           "optional": false
327         }
328       ],
329       "return": {
330         "type": "Boolean",
331         "doc": "<p>returns false if any of the handlers return false otherwise it returns true.</p>\n"
332       },
333       "private": false,
334       "static": false,
335       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
336       "linenr": 232,
337       "html_filename": "Observable.html",
338       "href": "Observable.html#Ext-util-Observable-method-fireEvent",
339       "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..."
340     },
341     {
342       "tagname": "method",
343       "name": "hasListener",
344       "member": "Ext.util.Observable",
345       "doc": "<p>Checks to see if this object has any listeners for a specified event</p>\n",
346       "params": [
347         {
348           "type": "String",
349           "name": "eventName",
350           "doc": "<p>The name of the event to check for</p>\n",
351           "optional": false
352         }
353       ],
354       "return": {
355         "type": "Boolean",
356         "doc": "<p>True if the event is being listened for, else false</p>\n"
357       },
358       "private": false,
359       "static": false,
360       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
361       "linenr": 480,
362       "html_filename": "Observable.html",
363       "href": "Observable.html#Ext-util-Observable-method-hasListener",
364       "shortDoc": "<p>Checks to see if this object has any listeners for a specified event</p>\n"
365     },
366     {
367       "tagname": "method",
368       "name": "observe",
369       "member": "Ext.util.Observable",
370       "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",
371       "params": [
372         {
373           "type": "Function",
374           "name": "c",
375           "doc": "<p>The class constructor to make observable.</p>\n",
376           "optional": false
377         },
378         {
379           "type": "Object",
380           "name": "listeners",
381           "doc": "<p>An object containing a series of listeners to add. See <a href=\"#/api/Ext.grid.plugin.CellEditing-method-addListener\" rel=\"Ext.grid.plugin.CellEditing-method-addListener\" class=\"docClass\">addListener</a>.</p>\n",
382           "optional": false
383         }
384       ],
385       "return": {
386         "type": "void",
387         "doc": "\n"
388       },
389       "private": false,
390       "static": true,
391       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
392       "linenr": 69,
393       "html_filename": "Observable.html",
394       "href": "Observable.html#Ext-util-Observable-method-observe",
395       "shortDoc": "Sets observability on the passed class constructor.\n\nThis makes any event fired on any instance of the passed class a..."
396     },
397     {
398       "tagname": "method",
399       "name": "on",
400       "member": "Ext.util.Observable",
401       "doc": "<p>Appends an event handler to this object (shorthand for <a href=\"#/api/Ext.grid.plugin.CellEditing-method-addListener\" rel=\"Ext.grid.plugin.CellEditing-method-addListener\" class=\"docClass\">addListener</a>.)</p>\n",
402       "params": [
403         {
404           "type": "String",
405           "name": "eventName",
406           "doc": "<p>The type of event to listen for</p>\n",
407           "optional": false
408         },
409         {
410           "type": "Function",
411           "name": "handler",
412           "doc": "<p>The method the event invokes</p>\n",
413           "optional": false
414         },
415         {
416           "type": "Object",
417           "name": "scope",
418           "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",
419           "optional": true
420         },
421         {
422           "type": "Object",
423           "name": "options",
424           "doc": "<p>(optional) An object containing handler configuration.</p>\n",
425           "optional": true
426         }
427       ],
428       "return": {
429         "type": "void",
430         "doc": "\n"
431       },
432       "private": false,
433       "static": false,
434       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
435       "linenr": 616,
436       "html_filename": "Observable.html",
437       "href": "Observable.html#Ext-util-Observable-method-on",
438       "shortDoc": "<p>Appends an event handler to this object (shorthand for <a href=\"#/api/Ext.grid.plugin.CellEditing-method-addListener\" rel=\"Ext.grid.plugin.CellEditing-method-addListener\" class=\"docClass\">addListener</a>.)</p>\n"
439     },
440     {
441       "tagname": "method",
442       "name": "relayEvents",
443       "member": "Ext.util.Observable",
444       "doc": "<p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>\n",
445       "params": [
446         {
447           "type": "Object",
448           "name": "origin",
449           "doc": "<p>The Observable whose events this object is to relay.</p>\n",
450           "optional": false
451         },
452         {
453           "type": "Array",
454           "name": "events",
455           "doc": "<p>Array of event names to relay.</p>\n",
456           "optional": false
457         },
458         {
459           "type": "Object",
460           "name": "prefix",
461           "doc": "\n",
462           "optional": false
463         }
464       ],
465       "return": {
466         "type": "void",
467         "doc": "\n"
468       },
469       "private": false,
470       "static": false,
471       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
472       "linenr": 520,
473       "html_filename": "Observable.html",
474       "href": "Observable.html#Ext-util-Observable-method-relayEvents",
475       "shortDoc": "<p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>\n"
476     },
477     {
478       "tagname": "method",
479       "name": "releaseCapture",
480       "member": "Ext.util.Observable",
481       "doc": "<p>Removes <b>all</b> added captures from the Observable.</p>\n",
482       "params": [
483         {
484           "type": "Observable",
485           "name": "o",
486           "doc": "<p>The Observable to release</p>\n",
487           "optional": false
488         }
489       ],
490       "return": {
491         "type": "void",
492         "doc": "\n"
493       },
494       "private": false,
495       "static": true,
496       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
497       "linenr": 46,
498       "html_filename": "Observable.html",
499       "href": "Observable.html#Ext-util-Observable-method-releaseCapture",
500       "shortDoc": "<p>Removes <b>all</b> added captures from the Observable.</p>\n"
501     },
502     {
503       "tagname": "method",
504       "name": "removeListener",
505       "member": "Ext.util.Observable",
506       "doc": "<p>Removes an event handler.</p>\n",
507       "params": [
508         {
509           "type": "String",
510           "name": "eventName",
511           "doc": "<p>The type of event the handler was associated with.</p>\n",
512           "optional": false
513         },
514         {
515           "type": "Function",
516           "name": "handler",
517           "doc": "<p>The handler to remove. <b>This must be a reference to the function passed into the <a href=\"#/api/Ext.grid.plugin.CellEditing-method-addListener\" rel=\"Ext.grid.plugin.CellEditing-method-addListener\" class=\"docClass\">addListener</a> call.</b></p>\n",
518           "optional": false
519         },
520         {
521           "type": "Object",
522           "name": "scope",
523           "doc": "<p>(optional) The scope originally specified for the handler.</p>\n",
524           "optional": true
525         }
526       ],
527       "return": {
528         "type": "void",
529         "doc": "\n"
530       },
531       "private": false,
532       "static": false,
533       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
534       "linenr": 352,
535       "html_filename": "Observable.html",
536       "href": "Observable.html#Ext-util-Observable-method-removeListener",
537       "shortDoc": "<p>Removes an event handler.</p>\n"
538     },
539     {
540       "tagname": "method",
541       "name": "removeManagedListener",
542       "member": "Ext.util.Observable",
543       "doc": "<p>Removes listeners that were added by the <a href=\"#/api/Ext.grid.plugin.CellEditing--mon\" rel=\"Ext.grid.plugin.CellEditing--mon\" class=\"docClass\">mon</a> method.</p>\n",
544       "params": [
545         {
546           "type": "Observable|Element",
547           "name": "item",
548           "doc": "<p>The item from which to remove a listener/listeners.</p>\n",
549           "optional": false
550         },
551         {
552           "type": "Object|String",
553           "name": "ename",
554           "doc": "<p>The event name, or an object containing event name properties.</p>\n",
555           "optional": false
556         },
557         {
558           "type": "Function",
559           "name": "fn",
560           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the handler function.</p>\n",
561           "optional": false
562         },
563         {
564           "type": "Object",
565           "name": "scope",
566           "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",
567           "optional": false
568         }
569       ],
570       "return": {
571         "type": "void",
572         "doc": "\n"
573       },
574       "private": false,
575       "static": false,
576       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
577       "linenr": 196,
578       "html_filename": "Observable.html",
579       "href": "Observable.html#Ext-util-Observable-method-removeManagedListener",
580       "shortDoc": "<p>Removes listeners that were added by the <a href=\"#/api/Ext.grid.plugin.CellEditing--mon\" rel=\"Ext.grid.plugin.CellEditing--mon\" class=\"docClass\">mon</a> method.</p>\n"
581     },
582     {
583       "tagname": "method",
584       "name": "resumeEvents",
585       "member": "Ext.util.Observable",
586       "doc": "<p>Resume firing events. (see <a href=\"#/api/Ext.grid.plugin.CellEditing-method-suspendEvents\" rel=\"Ext.grid.plugin.CellEditing-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",
587       "params": [
588
589       ],
590       "return": {
591         "type": "void",
592         "doc": "\n"
593       },
594       "private": false,
595       "static": false,
596       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
597       "linenr": 502,
598       "html_filename": "Observable.html",
599       "href": "Observable.html#Ext-util-Observable-method-resumeEvents",
600       "shortDoc": "Resume firing events. (see suspendEvents)\nIf events were suspended using the queueSuspended parameter, then all\nevent..."
601     },
602     {
603       "tagname": "method",
604       "name": "startEdit",
605       "member": "Ext.grid.plugin.CellEditing",
606       "doc": "<p>Start editing the specified record, using the specified Column definition to define which field is being edited.</p>\n",
607       "params": [
608         {
609           "type": "Model",
610           "name": "record",
611           "doc": "<p>The Store data record which backs the row to be edited.</p>\n",
612           "optional": false
613         },
614         {
615           "type": "Model",
616           "name": "columnHeader",
617           "doc": "<p>The Column object defining the column to be edited.\n@override</p>\n",
618           "optional": false
619         }
620       ],
621       "return": {
622         "type": "void",
623         "doc": "\n"
624       },
625       "private": false,
626       "static": false,
627       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/CellEditing.js",
628       "linenr": 188,
629       "html_filename": "CellEditing.html",
630       "href": "CellEditing.html#Ext-grid-plugin-CellEditing-method-startEdit",
631       "shortDoc": "<p>Start editing the specified record, using the specified Column definition to define which field is being edited.</p>\n"
632     },
633     {
634       "tagname": "method",
635       "name": "startEditByPosition",
636       "member": "Ext.grid.plugin.CellEditing",
637       "doc": "<p>Starts editing by position (row/column)</p>\n",
638       "params": [
639         {
640           "type": "Object",
641           "name": "position",
642           "doc": "<p>A position with keys of row and column.</p>\n",
643           "optional": false
644         }
645       ],
646       "return": {
647         "type": "void",
648         "doc": "\n"
649       },
650       "private": false,
651       "static": false,
652       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/CellEditing.js",
653       "linenr": 372,
654       "html_filename": "CellEditing.html",
655       "href": "CellEditing.html#Ext-grid-plugin-CellEditing-method-startEditByPosition",
656       "shortDoc": "<p>Starts editing by position (row/column)</p>\n"
657     },
658     {
659       "tagname": "method",
660       "name": "suspendEvents",
661       "member": "Ext.util.Observable",
662       "doc": "<p>Suspend the firing of all events. (see <a href=\"#/api/Ext.grid.plugin.CellEditing-method-resumeEvents\" rel=\"Ext.grid.plugin.CellEditing-method-resumeEvents\" class=\"docClass\">resumeEvents</a>)</p>\n",
663       "params": [
664         {
665           "type": "Boolean",
666           "name": "queueSuspended",
667           "doc": "<p>Pass as true to queue up suspended events to be fired\nafter the <a href=\"#/api/Ext.grid.plugin.CellEditing-method-resumeEvents\" rel=\"Ext.grid.plugin.CellEditing-method-resumeEvents\" class=\"docClass\">resumeEvents</a> call instead of discarding all suspended events;</p>\n",
668           "optional": false
669         }
670       ],
671       "return": {
672         "type": "void",
673         "doc": "\n"
674       },
675       "private": false,
676       "static": false,
677       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
678       "linenr": 490,
679       "html_filename": "Observable.html",
680       "href": "Observable.html#Ext-util-Observable-method-suspendEvents",
681       "shortDoc": "<p>Suspend the firing of all events. (see <a href=\"#/api/Ext.grid.plugin.CellEditing-method-resumeEvents\" rel=\"Ext.grid.plugin.CellEditing-method-resumeEvents\" class=\"docClass\">resumeEvents</a>)</p>\n"
682     },
683     {
684       "tagname": "method",
685       "name": "un",
686       "member": "Ext.util.Observable",
687       "doc": "<p>Removes an event handler (shorthand for <a href=\"#/api/Ext.grid.plugin.CellEditing-method-removeListener\" rel=\"Ext.grid.plugin.CellEditing-method-removeListener\" class=\"docClass\">removeListener</a>.)</p>\n",
688       "params": [
689         {
690           "type": "String",
691           "name": "eventName",
692           "doc": "<p>The type of event the handler was associated with.</p>\n",
693           "optional": false
694         },
695         {
696           "type": "Function",
697           "name": "handler",
698           "doc": "<p>The handler to remove. <b>This must be a reference to the function passed into the <a href=\"#/api/Ext.grid.plugin.CellEditing-method-addListener\" rel=\"Ext.grid.plugin.CellEditing-method-addListener\" class=\"docClass\">addListener</a> call.</b></p>\n",
699           "optional": false
700         },
701         {
702           "type": "Object",
703           "name": "scope",
704           "doc": "<p>(optional) The scope originally specified for the handler.</p>\n",
705           "optional": true
706         }
707       ],
708       "return": {
709         "type": "void",
710         "doc": "\n"
711       },
712       "private": false,
713       "static": false,
714       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
715       "linenr": 608,
716       "html_filename": "Observable.html",
717       "href": "Observable.html#Ext-util-Observable-method-un",
718       "shortDoc": "<p>Removes an event handler (shorthand for <a href=\"#/api/Ext.grid.plugin.CellEditing-method-removeListener\" rel=\"Ext.grid.plugin.CellEditing-method-removeListener\" class=\"docClass\">removeListener</a>.)</p>\n"
719     }
720   ],
721   "property": [
722
723   ],
724   "event": [
725     {
726       "tagname": "event",
727       "name": "beforeedit",
728       "member": "Ext.grid.plugin.CellEditing",
729       "doc": "<p>Fires before cell 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</li>\n<li>record - The record being edited</li>\n<li>field - The field name being edited</li>\n<li>value - The value for the field 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 is being edited.</li>\n<li>rowIdx - The row index that is being edited</li>\n<li>colIdx - The column index that is being edited</li>\n<li>cancel - Set this to true to cancel the edit or return false from your handler.</li>\n</ul>\n\n",
730       "params": [
731         {
732           "type": "Ext.grid.plugin.Editing",
733           "name": "editor",
734           "doc": "\n",
735           "optional": false
736         },
737         {
738           "type": "Object",
739           "name": "e",
740           "doc": "<p>An edit event (see above for description)</p>\n",
741           "optional": false
742         }
743       ],
744       "private": false,
745       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/CellEditing.js",
746       "linenr": 68,
747       "html_filename": "CellEditing.html",
748       "href": "CellEditing.html#Ext-grid-plugin-CellEditing-event-beforeedit",
749       "shortDoc": "Fires before cell editing is triggered. The edit event object has the following properties \n\n\ngrid - The grid\nrecord ..."
750     },
751     {
752       "tagname": "event",
753       "name": "edit",
754       "member": "Ext.grid.plugin.CellEditing",
755       "doc": "<p>Fires after a cell 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</li>\n<li>record - The record that was edited</li>\n<li>field - The field name that was edited</li>\n<li>value - The value being set</li>\n<li>originalValue - The original value for the field, before the edit.</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 was edited.</li>\n<li>rowIdx - The row index that was edited</li>\n<li>colIdx - The column index that was edited</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",
756       "params": [
757         {
758           "type": "Ext.grid.plugin.Editing",
759           "name": "editor",
760           "doc": "\n",
761           "optional": false
762         },
763         {
764           "type": "Object",
765           "name": "e",
766           "doc": "<p>An edit event (see above for description)</p>\n",
767           "optional": false
768         }
769       ],
770       "private": false,
771       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/CellEditing.js",
772       "linenr": 85,
773       "html_filename": "CellEditing.html",
774       "href": "CellEditing.html#Ext-grid-plugin-CellEditing-event-edit",
775       "shortDoc": "Fires after a cell is edited. The edit event object has the following properties \n\n\ngrid - The grid\nrecord - The reco..."
776     },
777     {
778       "tagname": "event",
779       "name": "validateedit",
780       "member": "Ext.grid.plugin.CellEditing",
781       "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</li>\n<li>record - The record being edited</li>\n<li>field - The field name being edited</li>\n<li>value - The value being set</li>\n<li>originalValue - The original value for the field, before the edit.</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 is being edited.</li>\n<li>rowIdx - The row index that is being edited</li>\n<li>colIdx - The column index that is being edited</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.row == myTargetRow) {\n    e.cancel = true;\n    e.record.data[e.field] = e.value;\n  }\n});\n</code></pre>\n\n",
782       "params": [
783         {
784           "type": "Ext.grid.plugin.Editing",
785           "name": "editor",
786           "doc": "\n",
787           "optional": false
788         },
789         {
790           "type": "Object",
791           "name": "e",
792           "doc": "<p>An edit event (see above for description)</p>\n",
793           "optional": false
794         }
795       ],
796       "private": false,
797       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/CellEditing.js",
798       "linenr": 111,
799       "html_filename": "CellEditing.html",
800       "href": "CellEditing.html#Ext-grid-plugin-CellEditing-event-validateedit",
801       "shortDoc": "Fires after a cell is edited, but before the value is set in the record. Return false\nto cancel the change. The edit ..."
802     }
803   ],
804   "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/grid/plugin/CellEditing.js",
805   "linenr": 1,
806   "html_filename": "CellEditing.html",
807   "href": "CellEditing.html#Ext-grid-plugin-CellEditing",
808   "cssVar": [
809
810   ],
811   "cssMixin": [
812
813   ],
814   "component": false,
815   "superclasses": [
816     "Ext.grid.plugin.Editing"
817   ],
818   "subclasses": [
819
820   ],
821   "mixedInto": [
822
823   ],
824   "allMixins": [
825     "Ext.util.Observable"
826   ]
827 });