继承odoo javascript搜索框

Inherit odoo javascript search box

继承odoo javascript搜索框 大家好,我需要继承这个:addons/web/static/src/js/views/control_panel/search/search_filters.js 代码片段:

'''var Char = Field.extend({
tagName: 'input',
className: 'o_input',
attributes: {
    type: 'text'
},
operators: [
    {value: "ilike", text: _lt("contains")},
    {value: "not ilike", text: _lt("doesn't contain")},
    {value: "=", text: _lt("is equal to")},
    {value: "!=", text: _lt("is not equal to")},
    {value: "∃", text: _lt("is set")},
    {value: "∄", text: _lt("is not set")}
],
get_value: function () {
    return this.$el.val();
});

我想在那里再添加一行, {value: '=ilike', text: _lt("matches")},

我尝试继承整个文件,但添加该行后没有任何反应。 任何提示表示赞赏。 该行来自模块 https://apps.odoo.com/apps/modules/12.0/web_advanced_search_wildcard/ 但它仅适用于 v12,我在 v13 及更高版本上需要它。 谢谢

您需要更新他们获取 Char 过滤器引用的行,因为 core.search_filters_registry 在 Odoo13 中未定义:

var Char = require('web.search_filters').Char;

示例(向字符过滤器添加新运算符):

var core = require('web.core');
var Char = require('web.search_filters').Char;
var _lt = core._lt;
Char.prototype.operators.push(
  {value: '=ilike', text: _lt("Matches")}
);

您需要创建一个新文件并将其添加到 asset bundle (web.assets_backend)。