import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import { I18n } from '@lingui/react'; import { t } from '@lingui/macro'; import { Button, Checkbox, Level, LevelItem, Toolbar, ToolbarGroup, ToolbarItem, Tooltip, } from '@patternfly/react-core'; import { TrashAltIcon, PlusIcon, } from '@patternfly/react-icons'; import { Link } from 'react-router-dom'; import ExpandCollapse from '../ExpandCollapse'; import Search from '../Search'; import Sort from '../Sort'; import VerticalSeparator from '../VerticalSeparator'; class DataListToolbar extends React.Component { render () { const { columns, isAllSelected, onSelectAll, sortedColumnKey, sortOrder, addUrl, showDelete, showSelectAll, isLookup, isCompact, onSort, onSearch, onCompact, onExpand, add } = this.props; const showExpandCollapse = (onCompact && onExpand); return ( {({ i18n }) => (
{ showSelectAll && ( )} { (showExpandCollapse || showDelete || addUrl || add) && ( )} {showExpandCollapse && ( { (showDelete || addUrl || add) && ( )} )} { showDelete && ( )} {addUrl && ( )} {add && ( {add} )}
)}
); } } DataListToolbar.propTypes = { addUrl: PropTypes.string, columns: PropTypes.arrayOf(PropTypes.object).isRequired, isAllSelected: PropTypes.bool, onSearch: PropTypes.func, onSelectAll: PropTypes.func, onSort: PropTypes.func, showDelete: PropTypes.bool, showSelectAll: PropTypes.bool, sortOrder: PropTypes.string, sortedColumnKey: PropTypes.string, onCompact: PropTypes.func, onExpand: PropTypes.func, isCompact: PropTypes.bool, add: PropTypes.node }; DataListToolbar.defaultProps = { addUrl: null, onSearch: null, onSelectAll: null, onSort: null, showDelete: false, showSelectAll: false, sortOrder: 'ascending', sortedColumnKey: 'name', isAllSelected: false, onCompact: null, onExpand: null, isCompact: false, add: null }; export default DataListToolbar;