覆盖odoo 11 JavaScript私有方法

时间:2018-11-08 11:05:45

标签: javascript odoo-11

在一种情况下,当在给定模型的树视图中单击一行时,我需要采取特定的措施。问题是在V11中重写了Odoo JS框架,我感兴趣的方法被声明为私有。这里是我要从list_renderer.js文件中覆盖的方法。

/**
 * @private
 * @param {MouseEvent} event
 */
_onRowClicked: function (event) {
    // The special_click property explicitely allow events to bubble all
    // the way up to bootstrap's level rather than being stopped earlier.
    if (!$(event.target).prop('special_click')) {
        var id = $(event.currentTarget).data('id');
        if (id) {
            this.trigger_up('open_record', {id:id, target: event.target});
        }
    }
},

我想要实现的是:

/**
 * @private
 * @param {MouseEvent} event
 */
_onRowClicked: function (event) {
    //The condition may be something else
    if (this.model=='my_module.my_model'){  
        // Do a specific action here
    }
    else{
        this._super(event);
    }
},

我已经尝试过跟踪,但是console.log('Test')的输出从不显示

var ListRenderer = require('web.ListRenderer');

ListRenderer.include({
    _onRowClicked: function (event) {
        console.log('Test');
    },
})

关于如何实现此目标的任何想法? 在此先感谢!

0 个答案:

没有答案