fix multi enum search

This commit is contained in:
yuri
2015-05-11 12:30:36 +03:00
parent 9ff47844e7
commit 90e775c27a
3 changed files with 18 additions and 4 deletions
@@ -0,0 +1,6 @@
<select name="{{name}}" class="form-control input-sm" multiple>
{{options params.options searchParams.valueFront scope=scope field=name translatedOptions=translatedOptions}}
</select>
<input name="{{name}}" type="hidden">
+11 -3
View File
@@ -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;
},
@@ -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(','));