@@ -71,12 +71,22 @@ class TableHeaderColumn extends Component {
7171
7272 render ( ) {
7373 let defaultCaret ;
74+ const {
75+ dataAlign,
76+ headerAlign,
77+ hidden,
78+ sort,
79+ dataSort,
80+ sortIndicator,
81+ children,
82+ caretRender
83+ } = this . props ;
7484 const thStyle = {
75- textAlign : this . props . dataAlign ,
76- display : this . props . hidden ? 'none' : null
85+ textAlign : headerAlign || dataAlign ,
86+ display : hidden ? 'none' : null
7787 } ;
78- if ( this . props . sortIndicator ) {
79- defaultCaret = ( ! this . props . dataSort ) ? null : (
88+ if ( sortIndicator ) {
89+ defaultCaret = ( ! dataSort ) ? null : (
8090 < span className = 'order' >
8191 < span className = 'dropdown' >
8292 < span className = 'caret' style = { { margin : '10px 0 10px 5px' , color : '#ccc' } } > </ span >
@@ -87,20 +97,20 @@ class TableHeaderColumn extends Component {
8797 </ span >
8898 ) ;
8999 }
90- let sortCaret = this . props . sort ? Util . renderReactSortCaret ( this . props . sort ) : defaultCaret ;
91- if ( this . props . caretRender ) {
92- sortCaret = this . props . caretRender ( this . props . sort ) ;
100+ let sortCaret = sort ? Util . renderReactSortCaret ( sort ) : defaultCaret ;
101+ if ( caretRender ) {
102+ sortCaret = caretRender ( sort ) ;
93103 }
94104
95- const classes = this . props . className + ' ' + ( this . props . dataSort ? 'sort-column' : '' ) ;
96- const title = typeof this . props . children === 'string' ? { title : this . props . children } : null ;
105+ const classes = this . props . className + ' ' + ( dataSort ? 'sort-column' : '' ) ;
106+ const title = typeof children === 'string' ? { title : children } : null ;
97107 return (
98108 < th ref = 'header-col'
99109 className = { classes }
100110 style = { thStyle }
101111 onClick = { this . handleColumnClick }
102112 { ...title } >
103- { this . props . children } { sortCaret }
113+ { children } { sortCaret }
104114 < div onClick = { e => e . stopPropagation ( ) } >
105115 { this . props . filter ? this . getFilters ( ) : null }
106116 </ div >
@@ -117,6 +127,7 @@ for (const key in Const.FILTER_TYPE) {
117127TableHeaderColumn . propTypes = {
118128 dataField : PropTypes . string ,
119129 dataAlign : PropTypes . string ,
130+ headerAlign : PropTypes . string ,
120131 dataSort : PropTypes . bool ,
121132 onSort : PropTypes . func ,
122133 dataFormat : PropTypes . func ,
@@ -155,6 +166,7 @@ TableHeaderColumn.propTypes = {
155166
156167TableHeaderColumn . defaultProps = {
157168 dataAlign : 'left' ,
169+ headerAlign : undefined ,
158170 dataSort : false ,
159171 dataFormat : undefined ,
160172 csvFormat : undefined ,
0 commit comments