import React from 'react'; import { Button, Checkbox, Dropdown, DropdownPosition, DropdownToggle, DropdownItem, Level, LevelItem, TextInput, Toolbar, ToolbarGroup, ToolbarItem, } from '@patternfly/react-core'; import { BarsIcon, EqualsIcon, SortAlphaDownIcon, SortAlphaUpIcon, SortNumericDownIcon, SortNumericUpIcon, TrashAltIcon, } from '@patternfly/react-icons'; import { Link } from 'react-router-dom'; import Tooltip from '../Tooltip'; class DataListToolbar extends React.Component { constructor (props) { super(props); const { sortedColumnKey } = this.props; this.state = { isSearchDropdownOpen: false, isSortDropdownOpen: false, searchKey: sortedColumnKey, searchValue: '', }; } handleSearchInputChange = searchValue => { this.setState({ searchValue }); }; onSortDropdownToggle = isSortDropdownOpen => { this.setState({ isSortDropdownOpen }); }; onSortDropdownSelect = ({ target }) => { const { columns, onSort, sortOrder } = this.props; const [{ key }] = columns.filter(({ name }) => name === target.innerText); this.setState({ isSortDropdownOpen: false }); onSort(key, sortOrder); }; onSearchDropdownToggle = isSearchDropdownOpen => { this.setState({ isSearchDropdownOpen }); }; onSearchDropdownSelect = ({ target }) => { const { columns } = this.props; const targetName = target.innerText; const [{ key }] = columns.filter(({ name }) => name === targetName); this.setState({ isSearchDropdownOpen: false, searchKey: key }); }; render () { const { up } = DropdownPosition; const { columns, isAllSelected, onSearch, onSelectAll, onSort, sortedColumnKey, sortOrder, addUrl } = this.props; const { // isActionDropdownOpen, isSearchDropdownOpen, isSortDropdownOpen, searchKey, searchValue, } = this.state; const [searchColumn] = columns .filter(({ key }) => key === searchKey); const searchColumnName = searchColumn.name; const [sortedColumn] = columns .filter(({ key }) => key === sortedColumnKey); const sortedColumnName = sortedColumn.name; const isSortNumeric = sortedColumn.isNumeric; const displayedSortIcon = () => { let icon; if (sortOrder === 'ascending') { icon = isSortNumeric ? () : (); } else { icon = isSortNumeric ? () : (); } return icon; }; return (
{ searchColumnName } )} > {columns.filter(({ key }) => key !== searchKey).map(({ key, name }) => ( { name } ))}