Skip to content

Commit 02cfe11

Browse files
committed
fix mode header of insert modal was broken when use bootstrap 4
1 parent d88c2e5 commit 02cfe11

File tree

4 files changed

+25
-7
lines changed

4 files changed

+25
-7
lines changed

src/BootstrapTable.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1248,6 +1248,7 @@ class BootstrapTable extends Component {
12481248
<div className={ `react-bs-table-tool-bar ${ print ? '' : 'hidden-print' }` }>
12491249
<ToolBar
12501250
ref='toolbar'
1251+
version={ this.props.version }
12511252
defaultSearch={ this.props.options.defaultSearch }
12521253
clearSearch={ this.props.options.clearSearch }
12531254
searchPosition={ this.props.options.searchPosition }

src/toolbar/InsertModal.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ export default class InsertModal extends Component {
7474
{
7575
headerComponent ||
7676
(<InsertModalHeader
77+
version={ this.props.version }
7778
className='react-bs-table-inser-modal-header'
7879
onModalClose={ onModalClose }/>)
7980
}
@@ -93,6 +94,7 @@ export default class InsertModal extends Component {
9394
}
9495
}
9596
InsertModal.propTypes = {
97+
version: PropTypes.string.isRequired,
9698
columns: PropTypes.array.isRequired,
9799
validateState: PropTypes.object.isRequired,
98100
ignoreEditable: PropTypes.bool,

src/toolbar/InsertModalHeader.js

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React, { Component } from 'react';
22
import PropTypes from 'prop-types';
3+
import Util from '../util';
34

45
class InsertModalHeader extends Component {
56

@@ -9,9 +10,23 @@ class InsertModalHeader extends Component {
910
onModalClose();
1011
}
1112

13+
renderContent(closeBtn) {
14+
const { version, title: titleText } = this.props;
15+
const title = <h4 key='title' className='modal-title'>{ titleText }</h4>;
16+
if (Util.isBootstrap4(version)) {
17+
return [ title, closeBtn ];
18+
} else {
19+
return (
20+
<span>
21+
{ closeBtn }
22+
{ title }
23+
</span>
24+
);
25+
}
26+
}
27+
1228
render() {
1329
const {
14-
title,
1530
hideClose,
1631
className,
1732
children
@@ -25,12 +40,7 @@ class InsertModalHeader extends Component {
2540
</button>
2641
);
2742

28-
const content = children || (
29-
<span>
30-
{ closeBtn }
31-
<h4 className='modal-title'>{ title }</h4>
32-
</span>
33-
);
43+
const content = children || this.renderContent(closeBtn);
3444

3545
return (
3646
<div className={ `modal-header ${className}` }>
@@ -41,13 +51,15 @@ class InsertModalHeader extends Component {
4151
}
4252

4353
InsertModalHeader.propTypes = {
54+
version: PropTypes.string,
4455
className: PropTypes.string,
4556
title: PropTypes.string,
4657
onModalClose: PropTypes.func,
4758
hideClose: PropTypes.bool,
4859
beforeClose: PropTypes.func
4960
};
5061
InsertModalHeader.defaultProps = {
62+
version: '3',
5163
className: '',
5264
title: 'Add Row',
5365
onModalClose: undefined,

src/toolbar/ToolBar.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,7 @@ class ToolBar extends Component {
404404
renderInsertRowModal() {
405405
const validateState = this.state.validateState || {};
406406
const {
407+
version,
407408
columns,
408409
ignoreEditable,
409410
insertModalHeader,
@@ -424,6 +425,7 @@ class ToolBar extends Component {
424425
if (!modal) {
425426
modal = (
426427
<InsertModal
428+
version={ version }
427429
columns={ columns }
428430
validateState={ validateState }
429431
ignoreEditable={ ignoreEditable }
@@ -457,6 +459,7 @@ class ToolBar extends Component {
457459
}
458460

459461
ToolBar.propTypes = {
462+
version: PropTypes.string,
460463
onAddRow: PropTypes.func,
461464
onDropRow: PropTypes.func,
462465
onShowOnlySelected: PropTypes.func,

0 commit comments

Comments
 (0)