2 * @class Ext.ux.DataView.LabelEditor
5 Ext.define('Ext.ux.DataView.LabelEditor', {
11 completeOnEnter: true,
22 labelSelector: 'x-editable',
28 constructor: function(config) {
29 config.field = config.field || Ext.create('Ext.form.field.Text', {
33 this.callParent([config]);
36 init: function(view) {
38 this.mon(view, 'render', this.bindEvents, this);
39 this.on('complete', this.onSave, this);
43 bindEvents: function() {
44 this.mon(this.view.getEl(), {
52 // on mousedown show editor
53 onClick: function(e, target) {
57 if (Ext.fly(target).hasCls(me.labelSelector) && !me.editing && !e.ctrlKey && !e.shiftKey) {
59 item = me.view.findItemByChild(target);
60 record = me.view.store.getAt(me.view.indexOf(item));
61 me.startEdit(target, record.data[me.dataIndex]);
62 me.activeRecord = record;
63 } else if (me.editing) {
70 onSave: function(ed, value) {
71 this.activeRecord.set(this.dataIndex, value);