fix
This commit is contained in:
		
							
								
								
									
										17
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								index.js
									
									
									
									
									
								
							@@ -78,6 +78,14 @@ function is_nil (obj) {
 | 
			
		||||
      || (typeof obj === 'number' && isNaN (obj));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function to_search_string (element, field) {
 | 
			
		||||
  return Array.isArray (field)
 | 
			
		||||
    ? field.map ((f) => element[f])
 | 
			
		||||
      .filter ((v) => typeof v !== 'undefined')
 | 
			
		||||
      .join (' ')
 | 
			
		||||
    : element[field];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * filter nested objects
 | 
			
		||||
 *
 | 
			
		||||
@@ -93,14 +101,7 @@ function recursive_filter (input, filters, children_key = 'children') {
 | 
			
		||||
    data[i] = e;
 | 
			
		||||
    let match = true;
 | 
			
		||||
    for (const filter of filters) {
 | 
			
		||||
      const is_multi_filter
 | 
			
		||||
      = Array.isArray (filter.fields);
 | 
			
		||||
 | 
			
		||||
      const search_str = is_multi_filter
 | 
			
		||||
        ? filter.fields.map ((f) => e[f])
 | 
			
		||||
          .filter ((v) => typeof v !== 'undefined')
 | 
			
		||||
          .join (' ')
 | 
			
		||||
        : e[filter.field];
 | 
			
		||||
      const search_str = to_search_string(e, filter.field);
 | 
			
		||||
 | 
			
		||||
      if (!filter.filter.test (search_str)) {
 | 
			
		||||
        match = false;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user