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.

58 lines (45 loc) 1.43 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.ColumnHeader = ColumnHeader; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _decorators = require('./decorators'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function ColumnHeader(_ref) { var pageActions = _ref.pageActions, field = _ref.field, text = _ref.text, sort = _ref.sort, sortReverse = _ref.sortReverse, _ref$sortable = _ref.sortable, sortable = _ref$sortable === undefined ? true : _ref$sortable; if (!sortable) { return _react2.default.createElement( 'span', null, text ); } var sortByField = function sortByField() { return pageActions.sort(field, !sortReverse); }; var arrow = sort === field && (sortReverse ? 'sort-desc' : 'sort-asc'); var icon = arrow || 'sort'; return _react2.default.createElement( 'button', { onClick: sortByField }, text, _react2.default.createElement('i', { className: 'fa fa-' + icon }) ); } ColumnHeader.propTypes = { sort: _react.PropTypes.string, sortReverse: _react.PropTypes.bool, pageActions: _react.PropTypes.object, field: _react.PropTypes.string.isRequired, text: _react.PropTypes.string.isRequired, sortable: _react.PropTypes.bool }; exports.default = (0, _decorators.sort)(ColumnHeader);