react-simple-checkboxlist
Version:
A simple react checkbox-list component
38 lines (37 loc) • 1.34 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.checkFun = checkFun;
exports.checkedList = checkedList;
exports.filter = filter;
exports.lowerStr = lowerStr;
exports.objectValues = objectValues;
function checkFun(optionvalue, object, key) {
return typeof optionvalue == "function" ? optionvalue(object) : object[key];
}
function objectValues(item) {
return Object.values(item).map(obj => typeof obj === 'object' && obj !== null ? objectValues(obj) : obj);
}
function lowerStr(value) {
return value?.toString()?.toLowerCase();
}
function filter(search, constant, filterHidden, optionlabel) {
return constant.filter(item => {
const value = filterHidden ? objectValues(item) : [checkFun(optionlabel, item, "label")];
const searchSplit = search.split(' ').filter(filterItem => filterItem !== '');
return searchSplit.filter(filterItem => lowerStr(value).indexOf(filterItem.trim()) !== -1).length === searchSplit.length;
});
}
;
function checkedList(optionObj, selectoption, optionvalue, selectedListLength) {
let index = -1,
optionvalueStr = checkFun(optionvalue, optionObj, "value");
for (let ind = 0; ind < selectedListLength; ind++) {
if (optionvalueStr === checkFun(optionvalue, selectoption[ind], "value")) {
index = ind;
break;
}
}
return index;
}
;