Skip to content

Commit d66634c

Browse files
committed
fix #324
1 parent 79af10e commit d66634c

File tree

3 files changed

+26
-15
lines changed

3 files changed

+26
-15
lines changed

src/BootstrapTable.js

+5
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,8 @@ class BootstrapTable extends React.Component {
226226
var toolBar = this.renderToolBar();
227227
var tableFilter = this.renderTableFilter(columns);
228228
var isSelectAll = this.isSelectAll();
229+
let sortIndicator = this.props.options.sortIndicator;
230+
if(typeof this.props.options.sortIndicator === 'undefined') sortIndicator = true;
229231
return (
230232
<div className="react-bs-container" ref="table">
231233
{toolBar}
@@ -239,6 +241,7 @@ class BootstrapTable extends React.Component {
239241
hideSelectColumn={this.props.selectRow.hideSelectColumn}
240242
sortName={sortInfo ? sortInfo.sortField : undefined}
241243
sortOrder={sortInfo ? sortInfo.order : undefined}
244+
sortIndicator={sortIndicator}
242245
onSort={this.handleSort.bind(this)}
243246
onSelectAllRow={this.handleSelectAllRow.bind(this)}
244247
bordered={this.props.bordered}
@@ -739,6 +742,7 @@ BootstrapTable.propTypes = {
739742
clearSearch: React.PropTypes.bool,
740743
sortName: React.PropTypes.string,
741744
sortOrder: React.PropTypes.string,
745+
sortIndicator: React.PropTypes.bool,
742746
afterTableComplete: React.PropTypes.func,
743747
afterDeleteRow: React.PropTypes.func,
744748
afterInsertRow: React.PropTypes.func,
@@ -800,6 +804,7 @@ BootstrapTable.defaultProps = {
800804
clearSearch: false,
801805
sortName: undefined,
802806
sortOrder: undefined,
807+
sortIndicator: true,
803808
afterTableComplete: undefined,
804809
afterDeleteRow: undefined,
805810
afterInsertRow: undefined,

src/TableHeader.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -63,19 +63,20 @@ class TableHeader extends React.Component{
6363
}
6464

6565
_attachClearSortCaretFunc(){
66+
let { sortIndicator } = this.props;
6667
if(Array.isArray(this.props.children)){
6768
for(let i=0;i<this.props.children.length;i++){
6869
const field = this.props.children[i].props.dataField;
6970
const sort = field === this.props.sortName ? this.props.sortOrder : undefined;
7071
this.props.children[i] =
7172
React.cloneElement(this.props.children[i],
72-
{ key: i, onSort: this.props.onSort, sort });
73+
{ key: i, onSort: this.props.onSort, sort, sortIndicator });
7374
}
7475
} else {
7576
const field = this.props.children.props.dataField;
7677
const sort = field === this.props.sortName ? this.props.sortOrder : undefined;
7778
this.props.children =
78-
React.cloneElement(this.props.children, {key: 0, onSort: this.props.onSort, sort});
79+
React.cloneElement(this.props.children, {key: 0, onSort: this.props.onSort, sort, sortIndicator});
7980
}
8081
}
8182

@@ -111,7 +112,8 @@ TableHeader.propTypes = {
111112
bordered: React.PropTypes.bool,
112113
condensed: React.PropTypes.bool,
113114
isFiltered: React.PropTypes.bool,
114-
isSelectAll: React.PropTypes.oneOf([true, 'indeterminate', false])
115+
isSelectAll: React.PropTypes.oneOf([true, 'indeterminate', false]),
116+
sortIndicator: React.PropTypes.bool
115117
};
116118

117119
TableHeader.defaultProps = {

src/TableHeaderColumn.js

+16-12
Original file line numberDiff line numberDiff line change
@@ -49,24 +49,26 @@ class TableHeaderColumn extends React.Component{
4949
}
5050

5151
render(){
52+
let defaultCaret;
5253
var width = this.props.width!==null?parseInt(this.props.width):null;
5354
var thStyle = {
5455
textAlign: this.props.dataAlign,
5556
display: this.props.hidden?"none":null,
5657
width: width,
5758
maxWidth: width
5859
};
59-
60-
const defaultCaret = (!this.props.dataSort) ? null : (
61-
<span className="order">
62-
<span className="dropdown">
63-
<span className="caret" style={{margin: '10px 0 10px 5px', color: '#ccc'}}></span>
64-
</span>
65-
<span className="dropup">
66-
<span className="caret" style={{margin: '10px 0', color: '#ccc'}}></span>
60+
if(this.props.sortIndicator) {
61+
defaultCaret = (!this.props.dataSort) ? null : (
62+
<span className="order">
63+
<span className="dropdown">
64+
<span className="caret" style={{margin: '10px 0 10px 5px', color: '#ccc'}}></span>
65+
</span>
66+
<span className="dropup">
67+
<span className="caret" style={{margin: '10px 0', color: '#ccc'}}></span>
68+
</span>
6769
</span>
68-
</span>
69-
);
70+
);
71+
}
7072
const sortCaret = this.props.sort ? Util.renderReactSortCaret(this.props.sort) : defaultCaret;
7173

7274
var classes = this.props.className+" "+(this.props.dataSort?"sort-column":"");
@@ -116,7 +118,8 @@ TableHeaderColumn.propTypes = {
116118
placeholder: React.PropTypes.string,
117119
getElement: React.PropTypes.func,
118120
customFilterParameters: React.PropTypes.object
119-
})
121+
}),
122+
sortIndicator: React.PropTypes.bool
120123
};
121124

122125
TableHeaderColumn.defaultProps = {
@@ -135,7 +138,8 @@ TableHeaderColumn.defaultProps = {
135138
filterFormatted: false,
136139
sort: undefined,
137140
formatExtraData: undefined,
138-
filter: undefined
141+
filter: undefined,
142+
sortIndicator: true
139143
};
140144

141145
export default TableHeaderColumn;

0 commit comments

Comments
 (0)