selecton
Version:
Selecton.js combines a searchbar and a dropdown menu with nested child lists.
30 lines (17 loc) • 583 B
JavaScript
var preSelectedItems = null;
export default function(arr, condition){
preSelectedItems = [];
filterItems(arr, { key: 'root' }, condition);
return preSelectedItems;
}
function filterItems(arr, parent, condition){
if (typeof(arr) === 'object') {
for (var i = 0; i < arr.length; i++) {
arr[i]._parent_ = parent.key;
(arr[i][condition[0]] === condition[1]) ? preSelectedItems.push(arr[i]) : null;
if(arr[i].children){
filterItems(arr[i].children, arr[i], condition);
}
}
}
}