mirror of
				https://github.com/ZetaKebab/quartz.git
				synced 2025-11-04 06:49:49 +00:00 
			
		
		
		
	feat: implement filter function for explorer
This commit is contained in:
		@@ -66,6 +66,21 @@ export class FileNode {
 | 
			
		||||
    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.
 | 
			
		||||
   * Intended to only be called on root node before changes to the tree are made
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user