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