diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index 3a2aa23e0e0..245643ece57 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -373,7 +373,6 @@ var FieldBoolean = AbstractField.extend({ className: 'o_field_boolean', events: _.extend({}, AbstractField.prototype.events, { change: '_onChange', - keydown: '_onKeyDown', }), replace_element: true, supportedFieldTypes: ['boolean'], @@ -455,6 +454,7 @@ var FieldBoolean = AbstractField.extend({ * @param {KeyEvent} event */ _onKeydown: function (event) { + this._super.apply(this, arguments); switch (event.which) { case $.ui.keyCode.DOWN: this.trigger_up('move_down'); @@ -468,10 +468,6 @@ var FieldBoolean = AbstractField.extend({ case $.ui.keyCode.RIGHT: this.trigger_up('move_right'); break; - case $.ui.keyCode.TAB: - this.trigger_up('move_next'); - event.preventDefault(); - break; case $.ui.keyCode.ENTER: this.$input.prop('checked', !this.value); this._setValue(!this.value); diff --git a/addons/web/static/test/fields/basic_fields_tests.js b/addons/web/static/test/fields/basic_fields_tests.js index 004653ab680..b1488e72a0b 100644 --- a/addons/web/static/test/fields/basic_fields_tests.js +++ b/addons/web/static/test/fields/basic_fields_tests.js @@ -109,7 +109,7 @@ QUnit.module('basic_fields', { QUnit.module('FieldBoolean'); - QUnit.test('boolean field in form view', function(assert) { + QUnit.test('boolean field in form view', function (assert) { assert.expect(7); var form = createView({ @@ -142,8 +142,11 @@ QUnit.module('basic_fields', { form.$buttons.find('.o_form_button_edit').click(); assert.strictEqual(form.$('.o_field_boolean input:checked').length, 0, "checkbox should still be unchecked"); - // check the checkbox - form.$('.o_field_boolean input').click(); + // check the checkbox by hitting the "enter" key after focusing it + form.$('.o_field_boolean input') + .trigger("focusin") + .trigger({type: "keydown", which: $.ui.keyCode.ENTER}) + .trigger({type: "keyup", which: $.ui.keyCode.ENTER}); assert.strictEqual(form.$('.o_field_boolean input:checked').length, 1, "checkbox should now be checked"); @@ -154,7 +157,7 @@ QUnit.module('basic_fields', { form.destroy(); }); - QUnit.test('boolean field in editable list view', function(assert) { + QUnit.test('boolean field in editable list view', function (assert) { assert.expect(11); var list = createView({