@bigfishtv/cockpit
Version:
50 lines (47 loc) • 1.64 kB
JavaScript
import PropTypes from 'prop-types'
import React, { Component } from 'react'
import Icon from '../Icon'
import DropdownButton from '../button/dropdown/DropdownButton'
import DropdownItem from '../button/dropdown/DropdownItem'
import DropdownItemDivider from '../button/dropdown/DropdownItemDivider'
/**
* Default Toolbar component for AssetFinderSidebarTree.
* Dumb component just uses callbacks.
*/
export default class AssetFoldersToolbar extends Component {
static propTypes = {
allCollapsed: PropTypes.bool,
removable: PropTypes.bool,
editable: PropTypes.bool,
onExpandAll: PropTypes.func,
onCollapseAll: PropTypes.func,
onRemove: PropTypes.func,
onEdit: PropTypes.func,
onCreate: PropTypes.func,
}
render() {
const {
allCollapsed,
removable,
editable,
currentFolder,
onCollapseAll,
onExpandAll,
onRemove,
onEdit,
onCreate,
} = this.props
const currentFolderName = currentFolder ? " '" + currentFolder.title + "'" : ''
return (
<DropdownButton style="icon" caret={false} pullRight={true} text={<Icon name="hamburger" />}>
{!allCollapsed && <DropdownItem text="Collapse All" icon="collapse" onClick={onCollapseAll} />}
{allCollapsed && <DropdownItem text="Expand All" icon="expand" onClick={onExpandAll} />}
<DropdownItemDivider />
<DropdownItem text="New Folder" icon="folder-new" onClick={onCreate} />
<DropdownItem text={'Edit' + currentFolderName} icon="edit" onClick={onEdit} disabled={!editable} />
<DropdownItemDivider />
<DropdownItem text="Delete" icon="delete" onClick={onRemove} disabled={!removable} />
</DropdownButton>
)
}
}