[IMP] don't handle keypresses at the editor level, do that in the view instead
maybe the editor could do it and trigger an event of its own for the view to handle? bzr revid: xmo@openerp.com-20120702093113-berlms96fqzfjlyg
This commit is contained in:
parent
f83684265d
commit
ac2895fd62
|
@ -78,16 +78,27 @@ openerp.web.list_editable = function (instance) {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
on_loaded: function (data, grouped) {
|
on_loaded: function (data, grouped) {
|
||||||
var self = this, form_ready = $.when();
|
var self = this;
|
||||||
// tree/@editable takes priority on everything else if present.
|
// tree/@editable takes priority on everything else if present.
|
||||||
this.options.editable = ! this.options.read_only && (data.arch.attrs.editable || this.options.editable);
|
this.options.editable = ! this.options.read_only && (data.arch.attrs.editable || this.options.editable);
|
||||||
var result = this._super(data, grouped);
|
var result = this._super(data, grouped);
|
||||||
if (this.options.editable || true) {
|
if (this.options.editable || true) {
|
||||||
this.editor = new instance.web.list.Editor(this);
|
this.editor = new instance.web.list.Editor(this);
|
||||||
|
|
||||||
return $.when(
|
var editor_ready = this.editor.prependTo(this.$element).then(function () {
|
||||||
result,
|
self.editor.$element.on('keyup', function (e) {
|
||||||
this.editor.prependTo(this.$element));
|
switch (e.which) {
|
||||||
|
case KEY_RETURN:
|
||||||
|
self.save_edition();
|
||||||
|
break;
|
||||||
|
case KEY_ESCAPE:
|
||||||
|
self.cancel_edition();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return $.when(result, editor_ready);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
@ -264,19 +275,8 @@ openerp.web.list_editable = function (instance) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var _super = this._super();
|
var _super = this._super();
|
||||||
this.form.embedded_view = this.getParent().editionView(this);
|
this.form.embedded_view = this.getParent().editionView(this);
|
||||||
var form_ready = this.form.appendTo(this.$element).then(function () {
|
var form_ready = this.form.appendTo(this.$element).then(
|
||||||
self.form.do_hide();
|
self.form.proxy('do_hide'));
|
||||||
self.form.$element.on('keyup', function (e) {
|
|
||||||
switch (e.which) {
|
|
||||||
case KEY_RETURN:
|
|
||||||
self.save();
|
|
||||||
break;
|
|
||||||
case KEY_ESCAPE:
|
|
||||||
self.cancel();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
return $.when(_super, form_ready);
|
return $.when(_super, form_ready);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue