file-tree-inner.tsx 796 B

123456789101112131415161718192021222324252627
  1. import { useFileTreeSelectable } from '../contexts/file-tree-selectable'
  2. import { FC, useCallback } from 'react'
  3. const FileTreeInner: FC<React.PropsWithChildren> = ({ children }) => {
  4. const { setIsRootFolderSelected, selectedEntityIds, select } =
  5. useFileTreeSelectable()
  6. const handleFileTreeClick = useCallback(() => {
  7. setIsRootFolderSelected(true)
  8. if (selectedEntityIds.size > 1) {
  9. select([])
  10. }
  11. }, [select, selectedEntityIds.size, setIsRootFolderSelected])
  12. return (
  13. // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
  14. <div
  15. className="file-tree-inner"
  16. onClick={handleFileTreeClick}
  17. data-testid="file-tree-inner"
  18. >
  19. {children}
  20. </div>
  21. )
  22. }
  23. export default FileTreeInner