Skip to content

Commit

Permalink
added showExpandAllHeaderColumn to show/hide header column
Browse files Browse the repository at this point in the history
  • Loading branch information
rajaramg committed Oct 17, 2017
1 parent 344308f commit 061ffa5
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 15 deletions.
2 changes: 1 addition & 1 deletion css/react-bootstrap-table.css
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ td.react-bs-table-expand-cell {
cursor: pointer;
}

th.react-bs-table-expand-cell {
th.react-bs-table-expand-cell > div {
cursor: pointer;
}

Expand Down
3 changes: 2 additions & 1 deletion examples/js/expandRow/custom-expand-indicator.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,8 @@ export default class ExpandRow extends React.Component {
render() {
const options = {
expandRowBgColor: 'rgb(242, 255, 163)',
expandAllChilds: false
expandAllChilds: false,
showExpandAllHeaderColumn: true
};
return (
<BootstrapTable data={ products }
Expand Down
7 changes: 5 additions & 2 deletions src/BootstrapTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,7 @@ class BootstrapTable extends Component {
expandedColumnHeaderComponent={ expandColumnOptions.expandedColumnHeaderComponent }
expandAllChilds={ this.state.expandAllChilds }
toggleExpandAllChilds={ this.toggleExpandAllChilds }
showExpandAllHeaderColumn={ this.props.options.showExpandAllHeaderColumn }
expandColumnBeforeSelectColumn={ expandColumnOptions.expandColumnBeforeSelectColumn }>
{ this.props.children }
</TableHeader>
Expand Down Expand Up @@ -1727,7 +1728,8 @@ BootstrapTable.propTypes = {
printToolBar: PropTypes.bool,
insertFailIndicator: PropTypes.string,
noAutoBOM: PropTypes.bool,
expandAllChilds: PropTypes.bool
expandAllChilds: PropTypes.bool,
showExpandAllHeaderColumn: PropTypes.bool
}),
fetchInfo: PropTypes.shape({
dataTotalSize: PropTypes.number
Expand Down Expand Up @@ -1897,7 +1899,8 @@ BootstrapTable.defaultProps = {
printToolBar: true,
insertFailIndicator: Const.INSERT_FAIL_INDICATOR,
noAutoBOM: true,
expandAllChilds: false
expandAllChilds: false,
showExpandAllHeaderColumn: false
},
fetchInfo: {
dataTotalSize: 0
Expand Down
21 changes: 14 additions & 7 deletions src/ExpandRowHeaderColumn.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,23 @@ class ExpandRowHeaderColumn extends Component {
}

render() {
const { expandedColumnHeaderComponent, expandAllChilds } = this.props;
const defaultExpandedHeaderComponent = (expandAllChilds ? '(-)' : '(+)' );
const {
expandedColumnHeaderComponent,
expandAllChilds,
showExpandAllHeaderColumn
} = this.props;
const expandedHeaderComponent = (expandAllChilds ? '(-)' : '(+)' );
const ExpandedColumnHeaderComponent = expandedColumnHeaderComponent;

return (
<th rowSpan={ this.props.rowCount } style={ { textAlign: 'center' } }
className='react-bs-table-expand-cell'
data-is-only-head={ false } onClick={ this.toggleExpandAllChilds }>
{ this.props.expandedColumnHeaderComponent ?
<ExpandedColumnHeaderComponent
expandAllChilds={ this.props.expandAllChilds } /> : defaultExpandedHeaderComponent }
data-is-only-head={ false }>
{ showExpandAllHeaderColumn && <div onClick={ this.toggleExpandAllChilds }>
{ expandedColumnHeaderComponent ?
<ExpandedColumnHeaderComponent
expandAllChilds={ this.props.expandAllChilds } /> : expandedHeaderComponent }
</div> }
</th>
);
}
Expand All @@ -32,6 +38,7 @@ ExpandRowHeaderColumn.propTypes = {
expandedColumnHeaderComponent: PropTypes.func,
rowCount: PropTypes.number,
expandAllChilds: PropTypes.bool,
toggleExpandAllChilds: PropTypes.func
toggleExpandAllChilds: PropTypes.func,
showExpandAllHeaderColumn: PropTypes.bool
};
export default ExpandRowHeaderColumn;
12 changes: 8 additions & 4 deletions src/TableHeader.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ class TableHeader extends Component {

render() {
const { sortIndicator, sortList, onSort, reset, version, condensed, bordered,
expandedColumnHeaderComponent, expandAllChilds, toggleExpandAllChilds } = this.props;
expandedColumnHeaderComponent, expandAllChilds, toggleExpandAllChilds,
showExpandAllHeaderColumn } = this.props;
const containerClasses = classSet(
'react-bs-container-header',
'table-header-wrapper',
Expand Down Expand Up @@ -68,7 +69,8 @@ class TableHeader extends Component {
<ExpandRowHeaderColumn key='expandCol' rowCount={ rowCount + 1 }
expandedColumnHeaderComponent={ expandedColumnHeaderComponent }
expandAllChilds={ expandAllChilds }
toggleExpandAllChilds={ toggleExpandAllChilds }/>
toggleExpandAllChilds={ toggleExpandAllChilds }
showExpandAllHeaderColumn={ showExpandAllHeaderColumn }/>
], [
this.renderSelectRowHeader(rowCount + 1, rowKey++)
], [
Expand All @@ -77,7 +79,8 @@ class TableHeader extends Component {
<ExpandRowHeaderColumn key='expandCol' rowCount={ rowCount + 1 }
expandedColumnHeaderComponent={ expandedColumnHeaderComponent }
expandAllChilds={ expandAllChilds }
toggleExpandAllChilds={ toggleExpandAllChilds }/>
toggleExpandAllChilds={ toggleExpandAllChilds }
showExpandAllHeaderColumn={ showExpandAllHeaderColumn }/>
]);

React.Children.forEach(this.props.children, (elm) => {
Expand Down Expand Up @@ -177,7 +180,8 @@ TableHeader.propTypes = {
expandColumnBeforeSelectColumn: PropTypes.bool,
version: PropTypes.string,
expandAllChilds: PropTypes.bool,
toggleExpandAllChilds: PropTypes.func
toggleExpandAllChilds: PropTypes.func,
showExpandAllHeaderColumn: PropTypes.bool
};

export default TableHeader;

0 comments on commit 061ffa5

Please sign in to comment.