-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
diff --git a/header_search_panel/static/src/search/header_search/components/fields_filter/fields_filter.js b/header_search_panel/static/src/search/header_search/components/fields_filter/fields_filter.js
index c70c0878c..0295ec005 100644
--- a/header_search_panel/static/src/search/header_search/components/fields_filter/fields_filter.js
+++ b/header_search_panel/static/src/search/header_search/components/fields_filter/fields_filter.js
@@ -8,6 +8,7 @@ import { BooleanFilter } from "./boolean_filter/boolean_filter";
import { DateFilter } from "./date_filter/date_filter";
import { Many2oneFilter } from "./many2one_filter/many2one_filter";
import { X2ManyFilterFilter } from "./x2many_filter/x2many_filter";
+import { CharFilter } from "./char_filter/char_filter";
const fieldRegistry = registry.category("fields");
@@ -41,6 +42,9 @@ export class FieldsFilter extends Component {
case "one2many":
this.addX2ManyFieldDependencies(fieldInfo)
break;
+ case "char":
+ this.addCharFieldDependencies(fieldInfo)
+ break;
}
return fieldInfo;
}
@@ -65,6 +69,9 @@ export class FieldsFilter extends Component {
case "many2many":
case "one2many":
return X2ManyFilterFilter;
+ case "char":
+ return CharFilter;
+
}
}
@@ -128,6 +135,7 @@ export class FieldsFilter extends Component {
domain: field.fieldDomain || "[]",
fieldString: field.fieldString,
searchLimit: field.fieldOptions?.search_limit || 10,
+ placeholder: field.placeholder,
}
this._addFieldBaseProps(field.props, field);
}
@@ -144,6 +152,13 @@ export class FieldsFilter extends Component {
this._addFieldBaseProps(field.props, field);
}
+ addCharFieldDependencies(field) {
+ field.Component = this._getComponent(field);
+ // 组件props
+ field.props = {};
+ this._addFieldBaseProps(field.props, field);
+ }
+
// 筛选字段的onChange事件,将筛选字段的id和domain传给searchModel
fieldFilterOnchange(fieldsFilterId, fieldsFilterInfo) {
if (fieldsFilterInfo?.fieldDomainList){
diff --git a/header_search_panel/static/src/search/header_search/components/fields_filter/many2one_filter/many2one_filter.js b/header_search_panel/static/src/search/header_search/components/fields_filter/many2one_filter/many2one_filter.js
index 1c80a1a04..4db0404ab 100644
--- a/header_search_panel/static/src/search/header_search/components/fields_filter/many2one_filter/many2one_filter.js
+++ b/header_search_panel/static/src/search/header_search/components/fields_filter/many2one_filter/many2one_filter.js
@@ -104,6 +104,7 @@ export class Many2oneFilter extends Component {
activeActions: {create: false, createEdit: false, write: false},
fieldString: this.props.fieldString,
searchLimit: this.props.searchLimit,
+ placeholder: this.props.placeholder,
};
}
}
diff --git a/header_search_panel/static/src/search/header_search/components/fields_filter/standard_field_filter_props.js b/header_search_panel/static/src/search/header_search/components/fields_filter/standard_field_filter_props.js
index 231ebf6b4..2fa7705c2 100644
--- a/header_search_panel/static/src/search/header_search/components/fields_filter/standard_field_filter_props.js
+++ b/header_search_panel/static/src/search/header_search/components/fields_filter/standard_field_filter_props.js
@@ -13,4 +13,6 @@ export const standardFieldFilterProps = {
type: {type: String, required: true},
// 字段变换监听函数
fieldOnchange: { type: Function, required: true },
+ // 提示
+ placeholder: {type: String, optional: true},
};
diff --git a/header_search_panel/static/src/search/header_search/components/quick_filter/quick_filter.xml b/header_search_panel/static/src/search/header_search/components/quick_filter/quick_filter.xml
index 17da74122..7ea0d8bbe 100644
--- a/header_search_panel/static/src/search/header_search/components/quick_filter/quick_filter.xml
+++ b/header_search_panel/static/src/search/header_search/components/quick_filter/quick_filter.xml
@@ -2,11 +2,11 @@