diff --git a/frontend/client/res/templates/fields/array/search.tpl b/frontend/client/res/templates/fields/array/search.tpl
new file mode 100644
index 0000000000..ec972d89e4
--- /dev/null
+++ b/frontend/client/res/templates/fields/array/search.tpl
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/frontend/client/src/views/fields/array.js b/frontend/client/src/views/fields/array.js
index c77d54cf3e..986e6d9150 100644
--- a/frontend/client/src/views/fields/array.js
+++ b/frontend/client/src/views/fields/array.js
@@ -31,6 +31,8 @@ Espo.define('Views.Fields.Array', 'Views.Fields.Enum', function (Dep) {
editTemplate: 'fields.array.edit',
+ searchTemplate: 'fields.array.search',
+
data: function () {
var itemHtmlList = [];
(this.selected || []).forEach(function (value) {
@@ -120,7 +122,7 @@ Espo.define('Views.Fields.Array', 'Views.Fields.Enum', function (Dep) {
},
afterRender: function () {
- if (this.mode == 'edit' || this.mode == 'search') {
+ if (this.mode == 'edit') {
this.$list = this.$el.find('.list-group');
var $select = this.$select = this.$el.find('.select');
@@ -213,8 +215,13 @@ Espo.define('Views.Fields.Array', 'Views.Fields.Enum', function (Dep) {
fetchSearch: function () {
var field = this.name;
var arr = [];
+ var af = [];
$.each(this.$el.find('[name="' + this.name + '"]').find('option:selected'), function (i, el) {
- arr.push( {type: 'like', field: field, value: "%" + $(el).val() + "%"} );
+ var value = $(el).val();
+ arr.push({
+ type: 'like', field: field, value: "%" + value + "%"
+ });
+ af.push(value);
});
if (arr.length == 0) {
@@ -223,7 +230,8 @@ Espo.define('Views.Fields.Array', 'Views.Fields.Enum', function (Dep) {
var data = {
type: 'or',
- value: arr
+ value: arr,
+ valueFront: af
};
return data;
},
diff --git a/frontend/client/src/views/fields/multi-enum.js b/frontend/client/src/views/fields/multi-enum.js
index ca0dee7719..ac5d64f3ad 100644
--- a/frontend/client/src/views/fields/multi-enum.js
+++ b/frontend/client/src/views/fields/multi-enum.js
@@ -57,7 +57,7 @@ Espo.define('Views.Fields.MultiEnum', ['Views.Fields.Array', 'lib!Select2'], fun
},
afterRender: function () {
- if (this.mode == 'edit' || this.mode == 'search') {
+ if (this.mode == 'edit') {
var $element = this.$element = this.$el.find('[name="' + this.name + '"]');
this.$element.val(this.selected.join(','));