我试图在Odoo中扩展One2Many Field Widget 这是我在Javascript中的代码
openerp.bahia_personnel_management = function (instance) {
instance.web.form.custom_widgets.add('one2many_remove_spec_columns','instance.bahia_personnel_management.one2many_remove_spec_columns');
instance.bahia_personnel_management.one2many_remove_spec_columns = instance.web.form.FieldOne2Many.extend({
_start: function() {
this._super.apply(this, arguments);
throw "YAHOO"
}
});};
正如你现在可以在我的javascript中看到的,我只是先抛出一个Exception来测试我的小部件是否真的有用,顺便说一句我的小部件的目的是删除一个特定的表头,这是我的带有标记的XML代码我的自定义小部件。
<field name="employee_checklists_documents_list" string ="" widget = "one2many_remove_spec_columns">
<tree class = "oe_checklist_bahia" editable="top/bottom" create = "false" limit = "500"> <!-- class = "oe_checklist_bahia" string = ""-->
<field name="param_name_1" readonly = "1" />
<field name="param_name_1_value" attrs="{'invisible': [('param_name_1_value_visible', '=', False)]}"/>
<field name="param_name_1_check" string = "" attrs="{'invisible': [('param_name_1_check_visible', '=', False)]}"/>
<field name="param_name_1_value_visible" invisible = "1" />
<field name="param_name_1_check_visible" invisible = "1" />
</tree>
调用自定义小部件所需的其他参数
答案 0 :(得分:0)
您可以扩展一个 我在odoo 9中运行
odoo.define('yvonne', function (require) {
"use strict";
var core = require('web.core');
//enter code here
var FieldMany2One = core.form_widget_registry.get('many2one');
FieldMany2One.include({
init: function(field_manager, node) {
console.log(" many 2 one init");
this._super(field_manager, node);
this.limit = 10
},
});
}
我希望这项工作对您有用