in webapp/components/flow-design-system/fds-demo.js [839:878]
filterData: function (data, searchTerm, ignoreCase) {
let field = '';
if (searchTerm.indexOf(':') > -1) {
field = searchTerm.split(':')[0].trim();
searchTerm = searchTerm.split(':')[1].trim();
}
const filter = searchTerm ? (ignoreCase ? searchTerm.toLowerCase() : searchTerm) : '';
if (filter) {
data = data.filter(function (item) {
const res = Object.keys(item).find(function (key) {
if (field.indexOf('.') > -1) {
const objArray = field.split('.');
let obj = item;
const arrayLength = objArray.length;
for (let i = 0; i < arrayLength; i++) {
try {
obj = obj[objArray[i]];
} catch (e) {
return false;
}
}
const preItemValue = ('' + obj);
const itemValue = ignoreCase ? preItemValue.toLowerCase() : preItemValue;
return itemValue.indexOf(filter) > -1;
}
if (key !== field && field !== '') {
return false;
}
const preItemValue = ('' + item[key]);
const itemValue = ignoreCase ? preItemValue.toLowerCase() : preItemValue;
return itemValue.indexOf(filter) > -1;
});
return !(typeof res === 'undefined');
});
}
return data;
},