dtable-utils
Version:
dtable common utils
61 lines (58 loc) • 1.47 kB
JavaScript
import { FILTER_PREDICATE_TYPE } from '../../constants/filter/filter-predicate.js';
/**
* Filter text
* @param {string} text
* @param {string} filter_predicate
* @param {string} filter_term
* @param {string} userId
* @returns bool
*/
var textFilter = function textFilter(text, _ref, userId) {
var filter_predicate = _ref.filter_predicate,
filter_term = _ref.filter_term;
switch (filter_predicate) {
case FILTER_PREDICATE_TYPE.CONTAINS:
{
if (!filter_term) {
return true;
}
if (!text) {
return false;
}
return text.toString().toLowerCase().indexOf(filter_term.toLowerCase()) > -1;
}
case FILTER_PREDICATE_TYPE.NOT_CONTAIN:
{
if (!filter_term || !text) {
return true;
}
return text.toString().toLowerCase().indexOf(filter_term.toLowerCase()) < 0;
}
case FILTER_PREDICATE_TYPE.IS:
{
return !filter_term || text === filter_term;
}
case FILTER_PREDICATE_TYPE.IS_NOT:
{
return !filter_term || text !== filter_term;
}
case FILTER_PREDICATE_TYPE.EMPTY:
{
return !text;
}
case FILTER_PREDICATE_TYPE.NOT_EMPTY:
{
return !!text;
}
case FILTER_PREDICATE_TYPE.IS_CURRENT_USER_ID:
{
if (!userId) return false;
return text === userId;
}
default:
{
return false;
}
}
};
export { textFilter };