如何在 odoo [12.0] 中覆盖 action_registry js
How to override action_registry js in odoo [12.0]
我有以下处理小部件的 js 文件,我想覆盖并添加自定义事件函数的代码,但是当我尝试实例化时,对象上似乎没有任何内容:
这是我要覆盖的脚本的参考
odoo.define('my_module.my_report', function (require) {
'use strict';
var myWidget = AbstractAction.extend(ControlPanelMixin, {
custom_events: {
},
}
core.action_registry.add('my_report', myWidget );
return myWidget
});
});
我试过使用以下方法继承:
var InheritedWidget = require('my_module.my_report);
还有:
var InheritedWidget = core.action_registry.get('my_report');
当我尝试覆盖时,似乎什么也没有发生:
InheritedWidget.include({
custom_events: {
//My custom code goes here
}
})
你知道如何覆盖这个小部件或方法吗?
您需要扩展现有小部件的 custom_events
。
var InheritedWidget = require('my_module.my_report');
InheritedWidget.include({
custom_events: _.extend({}, InheritedWidget.prototype.custom_events, {
//My custom code goes here
}),
});
有关详细信息,请参阅 event system 文档。
我有以下处理小部件的 js 文件,我想覆盖并添加自定义事件函数的代码,但是当我尝试实例化时,对象上似乎没有任何内容:
这是我要覆盖的脚本的参考
odoo.define('my_module.my_report', function (require) {
'use strict';
var myWidget = AbstractAction.extend(ControlPanelMixin, {
custom_events: {
},
}
core.action_registry.add('my_report', myWidget );
return myWidget
});
});
我试过使用以下方法继承:
var InheritedWidget = require('my_module.my_report);
还有:
var InheritedWidget = core.action_registry.get('my_report');
当我尝试覆盖时,似乎什么也没有发生:
InheritedWidget.include({
custom_events: {
//My custom code goes here
}
})
你知道如何覆盖这个小部件或方法吗?
您需要扩展现有小部件的 custom_events
。
var InheritedWidget = require('my_module.my_report');
InheritedWidget.include({
custom_events: _.extend({}, InheritedWidget.prototype.custom_events, {
//My custom code goes here
}),
});
有关详细信息,请参阅 event system 文档。