跳至內容
選單
此問題已被標幟
1 回覆
1312 瀏覽次數

I have a one2many field and I think it is odoo's default behavior that when you click on an input that belongs to one2many field, contents of the input (type='text') will be auto-selected (highlighted). It is a little tiring that you have to click twice/thrice just to remove highlight and go to the desired character position, removing auto-select will give user the freedom to select desired character position by just one click on the input.

Anyone knows how to stop this behavior? Thanks!

頭像
捨棄
最佳答案

The behavior you’re describing is indeed a default behavior in Odoo for 'one2many' fields. However, there isn’t a straightforward configuration option to disable this auto-selection feature.


To change this behavior, you would likely need to modify the Odoo JavaScript code that handles this auto-selection. This would involve extending the relevant widget in the Odoo JavaScript framework to override the default behavior.


Here’s a basic example of how you might do this:


odoo.define('your_module.field', function (require) {

    "use strict";


    var fieldRegistry = require('web.field_registry');

    var FieldText = require('web.basic_fields').FieldText;


    var FieldTextNoAutoselect = FieldText.extend({

        events: _.extend({}, FieldText.prototype.events, {

            'click': function (event) {

                event.stopPropagation();

            },

        }),

    });


    fieldRegistry.add('text_no_autoselect', FieldTextNoAutoselect);


    return FieldTextNoAutoselect;

});


In this example, a new field type 'text_no_autoselect' is created by extending the 'FieldText' widget. The click event is overridden to stop the propagation of the event, which should prevent the auto-selection.


Hope this helps.


Best regards,
Maciej Burzymowski

 

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
1
7月 23
2698
1
7月 25
2466
2
7月 25
7917
2
7月 25
4334
2
7月 25
4072