dtable-utils
Version:
dtable common utils
50 lines (45 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var filterPredicate = require('../../constants/filter/filter-predicate.js');
/**
* Filter single-select
* @param {string} optionId
* @param {string} filter_predicate
* @param {string|array} filter_term option id or option ids
* @returns bool
*/
var singleSelectFilter = function singleSelectFilter(optionId, _ref) {
var filter_predicate = _ref.filter_predicate,
filter_term = _ref.filter_term;
switch (filter_predicate) {
case filterPredicate.FILTER_PREDICATE_TYPE.IS:
{
return !filter_term || optionId === filter_term;
}
case filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT:
{
return !filter_term || optionId !== filter_term;
}
case filterPredicate.FILTER_PREDICATE_TYPE.IS_ANY_OF:
{
return filter_term.length === 0 || filter_term.includes(optionId);
}
case filterPredicate.FILTER_PREDICATE_TYPE.IS_NONE_OF:
{
return filter_term.length === 0 || filter_term.indexOf(optionId) < 0;
}
case filterPredicate.FILTER_PREDICATE_TYPE.EMPTY:
{
return !optionId;
}
case filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY:
{
return !!optionId;
}
default:
{
return false;
}
}
};
exports.singleSelectFilter = singleSelectFilter;