import React from 'react'; import PropTypes from 'prop-types'; import { Dropdown, DropdownMenu, DropdownToggle, DropdownItem } from 'reactstrap'; import { gettext } from '../utils/constants'; const propTypes = { sortBy: PropTypes.string, sortOrder: PropTypes.string, onSelectSortOption: PropTypes.func.isRequired }; class SortMenu extends React.Component { constructor(props) { super(props); this.sortOptions = [ { value: 'name-asc', text: gettext('By name ascending') }, { value: 'name-desc', text: gettext('By name descending') }, { value: 'time-asc', text: gettext('By time ascending') }, { value: 'time-desc', text: gettext('By time descending') } ]; this.state = { isDropdownMenuOpen: false }; } toggleDropdownMenu = () => { this.setState({ isDropdownMenuOpen: !this.state.isDropdownMenuOpen }); }; render() { const { isDropdownMenuOpen } = this.state; const { sortBy, sortOrder } = this.props; const sortOptions = this.sortOptions.map(item => { return { ...item, isSelected: item.value == `${sortBy}-${sortOrder}` }; }); return ( {sortOptions.map((item, index) => { return ( {item.isSelected && } {item.text} ); })} ); } } SortMenu.propTypes = propTypes; export default SortMenu;