feat: implement filter function for explorer
This commit is contained in:
		
							parent
							
								
									c7d3474ba8
								
							
						
					
					
						commit
						58aea1cb07
					
				
					 1 changed files with 15 additions and 0 deletions
				
			
		| 
						 | 
					@ -66,6 +66,21 @@ export class FileNode {
 | 
				
			||||||
    this.children.forEach((e) => e.print(depth + 1))
 | 
					    this.children.forEach((e) => e.print(depth + 1))
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  filter(filterFn: (node: FileNode) => boolean) {
 | 
				
			||||||
 | 
					    const filteredNodes: FileNode[] = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const traverse = (node: FileNode) => {
 | 
				
			||||||
 | 
					      if (filterFn(node)) {
 | 
				
			||||||
 | 
					        filteredNodes.push(node)
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      node.children.forEach(traverse)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    traverse(this)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    this.children = filteredNodes
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * Get folder representation with state of tree.
 | 
					   * Get folder representation with state of tree.
 | 
				
			||||||
   * Intended to only be called on root node before changes to the tree are made
 | 
					   * Intended to only be called on root node before changes to the tree are made
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue