UNPKG

violet-paginator

Version:

Display, paginate, sort, filter, and update items from the server. violet-paginator is a complete list management library for react/redux applications.

37 lines (28 loc) 808 B
import React, { PropTypes } from 'react' import { sort as decorate } from './decorators' export function ColumnHeader({ pageActions, field, text, sort, sortReverse, sortable=true }) { if (!sortable) { return <span>{text}</span> } const sortByField = () => pageActions.sort(field, !sortReverse) const arrow = sort === field && ( sortReverse ? 'sort-desc' : 'sort-asc' ) const icon = arrow || 'sort' return ( <button onClick={sortByField}> {text} <i className={`fa fa-${icon}`} /> </button> ) } ColumnHeader.propTypes = { sort: PropTypes.string, sortReverse: PropTypes.bool, pageActions: PropTypes.object, field: PropTypes.string.isRequired, text: PropTypes.string.isRequired, sortable: PropTypes.bool } export default decorate(ColumnHeader)