var React, Router;
React = require('react');
Router = require('react-router');
module.exports = React.createClass({
displayName: 'SortingHeader',
propTypes: {
onSort: React.PropTypes.func.isRequired,
sortKey: React.PropTypes.any.isRequired,
sortState: React.PropTypes.object.isRequired,
dataType: React.PropTypes.string
},
onClick: function() {
return this.props.onSort(this.props.sortKey, this.props.children.ref);
},
isSplitHeader: function() {
if (this.props.dataType != null) {
if (this.props.dataType === this.props.children.ref) {
return true;
} else {
return false;
}
} else {
return true;
}
},
render: function() {
var classNames;
classNames = ['header-cell', 'sortable', this.props.className];
if (this.props.sortState.key === this.props.sortKey && this.isSplitHeader()) {
classNames.push(this.props.sortState.asc ? 'is-ascending' : 'is-descending');
}
return React.createElement("div", {
"data-assignment-type": this.props.type,
"onClick": this.onClick,
"className": classNames.join(' ')
}, this.props.children);
}
});
|