[FIX] web: Form view: make 'Edit' button bounce in readonly
... when the form is clicked. This commit restores the behavior of saas-15, before the new views.
This commit is contained in:
@@ -12,6 +12,7 @@ var FormRenderer = BasicRenderer.extend({
|
||||
className: "o_form_view",
|
||||
events: _.extend({}, BasicRenderer.prototype.events, {
|
||||
'click .o_notification_box .oe_field_translate': '_onTranslate',
|
||||
'click .oe_title, .o_group': '_onClick',
|
||||
}),
|
||||
/**
|
||||
* @override
|
||||
@@ -836,6 +837,16 @@ var FormRenderer = BasicRenderer.extend({
|
||||
// Handlers
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Makes the Edit button bounce in readonly
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
_onClick: function () {
|
||||
if (this.mode === 'readonly') {
|
||||
this.trigger_up('bounce_edit');
|
||||
}
|
||||
},
|
||||
/**
|
||||
* @override
|
||||
* @private
|
||||
|
||||
@@ -5888,5 +5888,37 @@ QUnit.module('Views', {
|
||||
"table is now sorted");
|
||||
form.destroy();
|
||||
});
|
||||
|
||||
QUnit.test('bounce edit button in readonly mode', function (assert) {
|
||||
assert.expect(3);
|
||||
|
||||
var form = createView({
|
||||
View: FormView,
|
||||
model: 'partner',
|
||||
data: this.data,
|
||||
arch: '<form>' +
|
||||
'<div class="oe_title">' +
|
||||
'<field name="display_name"/>' +
|
||||
'</div>' +
|
||||
'</form>',
|
||||
res_id: 1,
|
||||
intercepts: {
|
||||
bounce_edit: function() {
|
||||
assert.step('bounce');
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
// in readonly
|
||||
form.$('[name="display_name"]').click();
|
||||
assert.verifySteps(['bounce']);
|
||||
|
||||
// in edit
|
||||
form.$buttons.find('.o_form_button_edit').click();
|
||||
form.$('[name="display_name"]').click();
|
||||
assert.verifySteps(['bounce']);
|
||||
|
||||
form.destroy();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user