Browse Source

BI-46741 fix: 复选下拉搜索keywords集合

es6
windy 5 years ago
parent
commit
f26d9f5429
  1. 23
      src/component/allvaluechooser/abstract.allvaluechooser.js
  2. 23
      src/component/valuechooser/abstract.valuechooser.js

23
src/component/allvaluechooser/abstract.allvaluechooser.js

@ -52,30 +52,33 @@ BI.AbstractAllValueChooser = BI.inherit(BI.Widget, {
if (options.keyword) { if (options.keyword) {
keywords.push(options.keyword); keywords.push(options.keyword);
} }
var resultItems = []; var resultItems = items;
BI.each(keywords, function (i, kw) { if(BI.isNotEmptyArray(keywords)) {
var search = BI.Func.getSearchResult(items, kw); resultItems = [];
resultItems = resultItems.concat(search.match).concat(search.find); BI.each(keywords, function (i, kw) {
}); var search = BI.Func.getSearchResult(items, kw);
resultItems = BI.uniq(resultItems); resultItems = resultItems.concat(search.match).concat(search.find);
});
resultItems = BI.uniq(resultItems);
}
if (options.selectedValues) {// 过滤 if (options.selectedValues) {// 过滤
var filter = BI.makeObject(options.selectedValues, true); var filter = BI.makeObject(options.selectedValues, true);
items = BI.filter(items, function (i, ob) { resultItems = BI.filter(resultItems, function (i, ob) {
return !filter[ob.value]; return !filter[ob.value];
}); });
} }
if (options.type === BI.MultiSelectCombo.REQ_GET_ALL_DATA) { if (options.type === BI.MultiSelectCombo.REQ_GET_ALL_DATA) {
callback({ callback({
items: items items: resultItems
}); });
return; return;
} }
if (options.type === BI.MultiSelectCombo.REQ_GET_DATA_LENGTH) { if (options.type === BI.MultiSelectCombo.REQ_GET_DATA_LENGTH) {
callback({count: items.length}); callback({count: resultItems.length});
return; return;
} }
callback({ callback({
items: items, items: resultItems,
hasNext: false hasNext: false
}); });
} }

23
src/component/valuechooser/abstract.valuechooser.js

@ -58,29 +58,34 @@ BI.AbstractValueChooser = BI.inherit(BI.Widget, {
} }
function call (items) { function call (items) {
var keywords = (options.keywords || []).slice(); var keywords = (options.keywords || []).slice();
BI.each(keywords, function (i, kw) { var resultItems = items;
var search = BI.Func.getSearchResult(items, kw); if(BI.isNotEmptyArray(keywords)) {
items = search.match.concat(search.find); resultItems = [];
}); BI.each(keywords, function (i, kw) {
var search = BI.Func.getSearchResult(items, kw);
resultItems = resultItems.concat(search.match).concat(search.find);
});
resultItems = BI.uniq(resultItems);
}
if (options.selectedValues) {// 过滤 if (options.selectedValues) {// 过滤
var filter = BI.makeObject(options.selectedValues, true); var filter = BI.makeObject(options.selectedValues, true);
items = BI.filter(items, function (i, ob) { resultItems = BI.filter(resultItems, function (i, ob) {
return !filter[ob.value]; return !filter[ob.value];
}); });
} }
if (options.type === BI.MultiSelectCombo.REQ_GET_ALL_DATA) { if (options.type === BI.MultiSelectCombo.REQ_GET_ALL_DATA) {
callback({ callback({
items: items items: resultItems
}); });
return; return;
} }
if (options.type === BI.MultiSelectCombo.REQ_GET_DATA_LENGTH) { if (options.type === BI.MultiSelectCombo.REQ_GET_DATA_LENGTH) {
callback({count: items.length}); callback({count: resultItems.length});
return; return;
} }
callback({ callback({
items: self._getItemsByTimes(items, options.times), items: self._getItemsByTimes(resultItems, options.times),
hasNext: self._hasNextByTimes(items, options.times) hasNext: self._hasNextByTimes(resultItems, options.times)
}); });
} }
} }

Loading…
Cancel
Save