import React from 'react'
import PropTypes from 'prop-types'
import classNames from 'classnames'
import FileTreeDoc from './file-tree-doc'
import FileTreeFolder from './file-tree-folder'
import { fileCollator } from '../util/file-collator'
function FileTreeFolderList({
folders,
docs,
files,
classes = {},
dropRef = null,
children
}) {
const docsAndFiles = [...docs, ...files]
return (
{folders.sort(compareFunction).map(folder => {
return (
)
})}
{docsAndFiles.sort(compareFunction).map(doc => {
return (
)
})}
{children}
)
}
FileTreeFolderList.propTypes = {
folders: PropTypes.array.isRequired,
docs: PropTypes.array.isRequired,
files: PropTypes.array.isRequired,
classes: PropTypes.exact({
root: PropTypes.string
}),
dropRef: PropTypes.func,
children: PropTypes.node
}
function compareFunction(one, two) {
return fileCollator.compare(one.name, two.name)
}
export default FileTreeFolderList