X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/530ef4b6c5b943cfa68b779d11cf7de29aa878bf..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/docs/api/Ext.grid.plugin.RowEditing.html diff --git a/docs/api/Ext.grid.plugin.RowEditing.html b/docs/api/Ext.grid.plugin.RowEditing.html new file mode 100644 index 00000000..124cb138 --- /dev/null +++ b/docs/api/Ext.grid.plugin.RowEditing.html @@ -0,0 +1,506 @@ +
Hierarchy
Ext.grid.plugin.EditingExt.grid.plugin.RowEditingMixins
The Ext.grid.plugin.RowEditing plugin injects editing at a row level for a Grid. When editing begins, +a small floating dialog will be shown for the appropriate row. Each editable column will show a field +for editing. There is a button to save or cancel all changes for the edit.
+ +The field that will be used for the editor is defined at the +field. The editor can be a field instance or a field configuration. +If an editor is not specified for a particular column then that column won't be editable and the value of +the column will be displayed.
+ +The editor may be shared for each column in the grid, or a different one may be specified for each column. +An appropriate field type should be chosen to match the data structure that it will be editing. For example, +to edit a date, it would be useful to specify Ext.form.field.Date as the editor.
+ + + +Ext.create('Ext.data.Store', {
+ storeId:'simpsonsStore',
+ fields:['name', 'email', 'phone'],
+ data:{'items':[
+ {"name":"Lisa", "email":"lisa@simpsons.com", "phone":"555-111-1224"},
+ {"name":"Bart", "email":"bart@simpsons.com", "phone":"555--222-1234"},
+ {"name":"Homer", "email":"home@simpsons.com", "phone":"555-222-1244"},
+ {"name":"Marge", "email":"marge@simpsons.com", "phone":"555-222-1254"}
+ ]},
+ proxy: {
+ type: 'memory',
+ reader: {
+ type: 'json',
+ root: 'items'
+ }
+ }
+});
+
+Ext.create('Ext.grid.Panel', {
+ title: 'Simpsons',
+ store: Ext.data.StoreManager.lookup('simpsonsStore'),
+ columns: [
+ {header: 'Name', dataIndex: 'name', field: 'textfield'},
+ {header: 'Email', dataIndex: 'email', flex:1,
+ editor: {
+ xtype:'textfield',
+ allowBlank:false
+ }
+ },
+ {header: 'Phone', dataIndex: 'phone'}
+ ],
+ selType: 'rowmodel',
+ plugins: [
+ Ext.create('Ext.grid.plugin.RowEditing', {
+ clicksToEdit: 1
+ })
+ ],
+ height: 200,
+ width: 400,
+ renderTo: Ext.getBody()
+});
+
+true
to automatically cancel any pending changes when the row editor begins editing a new row.
+false
to force the user to explicitly cancel the pending changes. Defaults to true
.
The number of clicks on a grid required to display the editor (defaults to 2).
+The number of clicks on a grid required to display the editor (defaults to 2).
+The number of clicks to move the row editor to a new row while it is visible and actively editing another row. +This will default to the same value as clicksToEdit.
+true
to show a tooltip that summarizes all validation errors present
+in the row editor. Set to false
to prevent the tooltip from showing. Defaults to true
.
(optional)
A config object containing one or more event handlers to be added to this +object during initialization. This should be a valid listeners config object as specified in the +addListener example for attaching multiple handlers at once.
+ +DOM events from ExtJs Components
+ + +While some ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this + + +
is usually only done when extra value can be added. For example the DataView's
+click
event passing the node clicked on. To access DOM
+events directly from a child element of a Component, we need to specify the element
option to
+identify the Component property to add a DOM listener to:
new Ext.panel.Panel({
+ width: 400,
+ height: 200,
+ dockedItems: [{
+ xtype: 'toolbar'
+ }],
+ listeners: {
+ click: {
+ element: 'el', //bind to the underlying el property on the panel
+ fn: function(){ console.log('click el'); }
+ },
+ dblclick: {
+ element: 'body', //bind to the underlying body property on the panel
+ fn: function(){ console.log('dblclick body'); }
+ }
+ }
+});
+
+
+
+
+Adds the specified events to the list of events which this Observable may fire.
+Adds the specified events to the list of events which this Observable may fire.
+Either an object with event names as properties with a value of true
+or the first event name string if multiple event names are being passed as separate parameters.
[additional] Optional additional event names if multiple event names are being passed as separate parameters. +Usage:
+ +this.addEvents('storeloaded', 'storecleared');
+
+
+Appends an event handler to this object.
+Appends an event handler to this object.
+The name of the event to listen for. May also be an object who's property names are event names. See
+The method the event invokes.
+(optional) The scope (this
reference) in which the handler function is executed.
+If omitted, defaults to the object which fired the event.
(optional) An object containing handler configuration. +properties. This may contain any of the following properties:
this
reference) in which the handler function is executed.
+If omitted, defaults to the object which fired the event.This option is useful during Component construction to add DOM event listeners to elements of Components which +will exist only after the Component is rendered. For example, to add a click listener to a Panel's body: +
new Ext.panel.Panel({
+ title: 'The title',
+ listeners: {
+ click: this.handlePanelClick,
+ element: 'body'
+ }
+});
+
+
+
+When added in this way, the options available are the options applicable to Ext.core.Element.addListener
+ + +
+Combining Options
+Using the options argument, it is possible to combine different types of listeners:
+
+A delayed, one-time listener.
+
myPanel.on('hide', this.handleClick, this, {
+single: true,
+delay: 100
+});
+
+Attaching multiple handlers in 1 call
+The method also allows for a single argument to be passed which is a config object containing properties
+which specify multiple events. For example:
+
myGridPanel.on({
+ cellClick: this.onCellClick,
+ mouseover: this.onMouseOver,
+ mouseout: this.onMouseOut,
+ scope: this // Important. Ensure "this" is correct during handler execution
+});
+
.
++ +
Adds listeners to any Observable object (or Element) which are automatically removed when this Component +is destroyed. + +
Adds listeners to any Observable object (or Element) which are automatically removed when this Component +is destroyed. + +
The item to which to add a listener/listeners.
+The event name, or an object containing event name properties.
+Optional. If the ename
parameter was an event name, this
+is the handler function.
Optional. If the ename
parameter was an event name, this
+is the scope (this
reference) in which the handler function is executed.
Optional. If the ename
parameter was an event name, this
+is the addListener options.
Cancel any active edit that is in progress.
+Cancel any active edit that is in progress.
+Starts capture on the specified Observable. All events will be passed +to the supplied function with the event name + standard signature of the event +before the event is fired. If the supplied function returns false, +the event will not fire.
+The Observable to capture events from.
+The function to call when an event is fired.
+(optional) The scope (this
reference) in which the function is executed. Defaults to the Observable firing the event.
Removes all listeners for this object including the managed listeners
+Removes all listeners for this object including the managed listeners
+Removes all managed listeners for this object.
+Removes all managed listeners for this object.
+Complete the edit if there is an active edit in progress.
+Complete the edit if there is an active edit in progress.
+Enables events fired by this Observable to bubble up an owner hierarchy by calling
+this.getBubbleTarget()
if present. There is no implementation in the Observable base class.
This is commonly used by Ext.Components to bubble events to owner Containers. See Ext.Component.getBubbleTarget. The default +implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to +access the required target more quickly.
+ + +Example:
+ + +Ext.override(Ext.form.field.Base, {
+// Add functionality to Field's initComponent to enable the change event to bubble
+initComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, function() {
+ this.enableBubble('change');
+}),
+
+// We know that we want Field's events to bubble directly to the FormPanel.
+getBubbleTarget : function() {
+ if (!this.formPanel) {
+ this.formPanel = this.findParentByType('form');
+ }
+ return this.formPanel;
+}
+});
+
+var myForm = new Ext.formPanel({
+title: 'User Details',
+items: [{
+ ...
+}],
+listeners: {
+ change: function() {
+ // Title goes red if form has been modified.
+ myForm.header.setStyle('color', 'red');
+ }
+}
+});
+
+
+The event name to bubble, or an Array of event names.
+Fires the specified event with the passed parameters (minus the event name).
+ + +An event may be set to bubble up an Observable parent hierarchy (See Ext.Component.getBubbleTarget) +by calling enableBubble.
+ +The name of the event to fire.
+Variable number of parameters are passed to handlers.
+returns false if any of the handlers return false otherwise it returns true.
+Checks to see if this object has any listeners for a specified event
+Checks to see if this object has any listeners for a specified event
+The name of the event to check for
+True if the event is being listened for, else false
+Sets observability on the passed class constructor.
+ +This makes any event fired on any instance of the passed class also fire a single event through +the class allowing for central handling of events on many instances at once.
+ +Usage:
+ +Ext.util.Observable.observe(Ext.data.Connection);
+Ext.data.Connection.on('beforerequest', function(con, options) {
+ console.log('Ajax request made to ' + options.url);
+});
+
+The class constructor to make observable.
+An object containing a series of listeners to add. See addListener.
+Appends an event handler to this object (shorthand for addListener.)
+Appends an event handler to this object (shorthand for addListener.)
+The type of event to listen for
+The method the event invokes
+(optional) The scope (this
reference) in which the handler function is executed.
+If omitted, defaults to the object which fired the event.
(optional) An object containing handler configuration.
+Relays selected events from the specified Observable as if the events were fired by this
.
Relays selected events from the specified Observable as if the events were fired by this
.
The Observable whose events this object is to relay.
+Array of event names to relay.
+Removes all added captures from the Observable.
+Removes all added captures from the Observable.
+The Observable to release
+Removes an event handler.
+Removes an event handler.
+The type of event the handler was associated with.
+The handler to remove. This must be a reference to the function passed into the addListener call.
+(optional) The scope originally specified for the handler.
+Removes listeners that were added by the mon method.
+Removes listeners that were added by the mon method.
+The item from which to remove a listener/listeners.
+The event name, or an object containing event name properties.
+Optional. If the ename
parameter was an event name, this
+is the handler function.
Optional. If the ename
parameter was an event name, this
+is the scope (this
reference) in which the handler function is executed.
Resume firing events. (see suspendEvents)
+If events were suspended using the queueSuspended
parameter, then all
+events fired during event suspension will be sent to any listeners now.
Start editing the specified record, using the specified Column definition to define which field is being edited.
+Start editing the specified record, using the specified Column definition to define which field is being edited.
+The Store data record which backs the row to be edited.
+The Column object defining the column to be edited. +@override
+Suspend the firing of all events. (see resumeEvents)
+Suspend the firing of all events. (see resumeEvents)
+Pass as true to queue up suspended events to be fired +after the resumeEvents call instead of discarding all suspended events;
+Removes an event handler (shorthand for removeListener.)
+Removes an event handler (shorthand for removeListener.)
+The type of event the handler was associated with.
+The handler to remove. This must be a reference to the function passed into the addListener call.
+(optional) The scope originally specified for the handler.
+Fires before row editing is triggered. The edit event object has the following properties
An edit event (see above for description)
+Fires after a row is edited. The edit event object has the following properties
grid.on('edit', onEdit, this);
+
+function onEdit(e) {
+ // execute an XHR to send/commit data to the server, in callback do (if successful):
+ e.record.commit();
+};
+
+
+An edit event (see above for description)
+Fires after a cell is edited, but before the value is set in the record. Return false
+to cancel the change. The edit event object has the following properties
Usage example showing how to remove the red triangle (dirty record indicator) from some +records (not all). By observing the grid's validateedit event, it can be cancelled if +the edit occurs on a targeted row (for example) and then setting the field's new value +in the Record directly:
+ +grid.on('validateedit', function(e) {
+ var myTargetRow = 6;
+
+ if (e.rowIdx == myTargetRow) {
+ e.cancel = true;
+ e.record.data[e.field] = e.value;
+ }
+});
+
+
+An edit event (see above for description)
+