diff --git a/packages/react-bootstrap-table2/src/bootstrap-table.js b/packages/react-bootstrap-table2/src/bootstrap-table.js index 42d419e..692c29f 100644 --- a/packages/react-bootstrap-table2/src/bootstrap-table.js +++ b/packages/react-bootstrap-table2/src/bootstrap-table.js @@ -191,6 +191,7 @@ BootstrapTable.propTypes = { Const.INDICATOR_POSITION_LEFT, Const.INDICATOR_POSITION_RIGHT ]), + className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]), parentClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]) }), rowStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]), diff --git a/packages/react-bootstrap-table2/src/row-expand/expand-row.js b/packages/react-bootstrap-table2/src/row-expand/expand-row.js index 3699ada..140ce90 100644 --- a/packages/react-bootstrap-table2/src/row-expand/expand-row.js +++ b/packages/react-bootstrap-table2/src/row-expand/expand-row.js @@ -1,10 +1,11 @@ +import cs from 'classnames'; import React from 'react'; import PropTypes from 'prop-types'; import { CSSTransition } from 'react-transition-group'; -const ExpandRow = ({ children, expanded, onClosed, ...rest }) => ( +const ExpandRow = ({ children, expanded, onClosed, className, ...rest }) => ( - + ( ExpandRow.propTypes = { children: PropTypes.node, expanded: PropTypes.bool, - onClosed: PropTypes.func + onClosed: PropTypes.func, + className: PropTypes.string }; ExpandRow.defaultProps = { children: null, expanded: false, - onClosed: null + onClosed: null, + className: '' }; export default ExpandRow; diff --git a/packages/react-bootstrap-table2/src/row-expand/row-consumer.js b/packages/react-bootstrap-table2/src/row-expand/row-consumer.js index 8f30dc1..0db8b64 100644 --- a/packages/react-bootstrap-table2/src/row-expand/row-consumer.js +++ b/packages/react-bootstrap-table2/src/row-expand/row-consumer.js @@ -8,6 +8,7 @@ import ExpansionContext from '../contexts/row-expand-context'; export default (Component) => { const renderWithExpansion = (props, expandRow) => { let parentClassName = ''; + let className = ''; const key = props.value; const expanded = _.contains(expandRow.expanded, key); @@ -17,6 +18,10 @@ export default (Component) => { parentClassName = _.isFunction(expandRow.parentClassName) ? expandRow.parentClassName(expanded, props.row, props.rowIndex) : (expandRow.parentClassName || ''); + + className = _.isFunction(expandRow.className) ? + expandRow.className(expanded, props.row, props.rowIndex) : + (expandRow.className || ''); } return [ @@ -33,6 +38,7 @@ export default (Component) => { colSpan={ props.visibleColumnSize } expanded={ expanded } onClosed={ () => expandRow.onClosed(key) } + className={ className } > { expandRow.renderer(props.row, props.rowIndex) } : null