Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8b5d3bd

Browse files
Merge pull request #1291 from react-bootstrap-table/develop
20200316 release
2 parents 02cdbb5 + 8db68e6 commit 8b5d3bd

File tree

11 files changed

+112
-109
lines changed

11 files changed

+112
-109
lines changed

‎packages/react-bootstrap-table2-example/examples/pagination/custom-pagination.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ const options = {
4747
lastPageTitle: 'Last page',
4848
showTotal: true,
4949
paginationTotalRenderer: customTotal,
50+
disablePageTitle: true,
5051
sizePerPageList: [{
5152
text: '5', value: 5
5253
}, {
@@ -82,6 +83,7 @@ const options = {
8283
lastPageTitle: 'Last page',
8384
showTotal: true,
8485
paginationTotalRenderer: customTotal,
86+
disablePageTitle: true,
8587
sizePerPageList: [{
8688
text: '5', value: 5
8789
}, {

‎packages/react-bootstrap-table2-example/examples/pagination/standalone-size-per-page.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ export default class StandaloneSizePerPage extends React.Component {
7474
return (
7575
<div>
7676
<PaginationProvider
77+
bootstrap4
7778
pagination={ paginationFactory(options) }
7879
>
7980
{
@@ -84,7 +85,7 @@ export default class StandaloneSizePerPage extends React.Component {
8485
<div>
8586
<SizePerPageDropdownStandalone
8687
{ ...paginationProps }
87-
btnContextual="btn btn-primary"
88+
btnContextual="btn btn-warning"
8889
/>
8990
<BootstrapTable
9091
keyField="id"

‎packages/react-bootstrap-table2-paginator/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ import paginationFactory from 'react-bootstrap-table2-paginator';
5656
* [hideSizePerPage](https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/pagination-props.html#paginationhidesizeperpage-bool)
5757
* [hidePageListOnlyOnePage](https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/pagination-props.html#paginationhidepagelistonlyonepage-bool)
5858
* [showTotal](https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/pagination-props.html#paginationshowtotal-bool)
59+
* [disablePageTitle](https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/pagination-props.html#paginationdisablepagetitle-bool)
5960

6061
You can check [this online demo](https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Pagination&selectedStory=Custom%20Pagination&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel) for above props usage.
6162

@@ -233,7 +234,8 @@ nextPageTitle,
233234
firstPageTitle,
234235
lastPageTitle,
235236
onPageChange,
236-
onSizePerPageChange
237+
onSizePerPageChange,
238+
disablePageTitle
237239
```
238240

239241
In most of case, `page`, `sizePerPage`, `onPageChange` and `onSizePerPageChange` are most important things for developer.

‎packages/react-bootstrap-table2-paginator/src/bootstrap.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

‎packages/react-bootstrap-table2-paginator/src/data-context.js

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import React from 'react';
55
import PropTypes from 'prop-types';
66

77
import Const from './const';
8-
import { BootstrapContext } from './bootstrap';
98
import Pagination from './pagination';
109
import { getByCurrPage, alignPage } from './page';
1110
import createBaseContext from './state-context';
@@ -57,22 +56,19 @@ class PaginationDataProvider extends Provider {
5756
renderDefaultPagination = () => {
5857
if (!this.props.pagination.options.custom) {
5958
const {
60-
bootstrap4,
6159
page: currPage,
6260
sizePerPage: currSizePerPage,
6361
dataSize,
6462
...rest
6563
} = this.getPaginationProps();
6664
return (
67-
<BootstrapContext.Provider value={ { bootstrap4 } }>
68-
<Pagination
69-
{ ...rest }
70-
key="pagination"
71-
dataSize={ dataSize || this.props.data.length }
72-
currPage={ currPage }
73-
currSizePerPage={ currSizePerPage }
74-
/>
75-
</BootstrapContext.Provider>
65+
<Pagination
66+
{ ...rest }
67+
key="pagination"
68+
dataSize={ dataSize || this.props.data.length }
69+
currPage={ currPage }
70+
currSizePerPage={ currSizePerPage }
71+
/>
7672
);
7773
}
7874
return null;

‎packages/react-bootstrap-table2-paginator/src/page-resolver.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ export default ExtendBase =>
107107
return pages;
108108
}
109109

110-
calculatePageStatus(pages = [], lastPage) {
110+
calculatePageStatus(pages = [], lastPage,disablePageTitle=false) {
111111
const {
112112
currPage,
113113
pageStartIndex,
@@ -146,7 +146,11 @@ export default ExtendBase =>
146146
title = `${page}`;
147147
}
148148

149-
return { page, active, disabled, title };
149+
const pageResult = { page, active, disabled };
150+
if (!disablePageTitle) {
151+
pageResult.title = title;
152+
}
153+
return pageResult;
150154
});
151155
}
152156

‎packages/react-bootstrap-table2-paginator/src/pagination-list-adapter.js

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,22 @@ import PaginationList from './pagination-list';
77
const paginationListAdapter = WrappedComponent =>
88
class PaginationListAdapter extends pageResolver(Component) {
99
render() {
10-
const { lastPage, totalPages, pageButtonRenderer, onPageChange } = this.props;
11-
const pages = this.calculatePageStatus(this.calculatePages(totalPages, lastPage), lastPage);
10+
const {
11+
lastPage,
12+
totalPages,
13+
pageButtonRenderer,
14+
onPageChange,
15+
disablePageTitle,
16+
hidePageListOnlyOnePage
17+
} = this.props;
18+
const pages = this.calculatePageStatus(
19+
this.calculatePages(totalPages, lastPage),
20+
lastPage,
21+
disablePageTitle
22+
);
23+
if (totalPages === 1 && hidePageListOnlyOnePage) {
24+
return null;
25+
}
1226
return (
1327
<WrappedComponent
1428
pageButtonRenderer={ pageButtonRenderer }

‎packages/react-bootstrap-table2-paginator/src/pagination.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class Pagination extends pageResolver(Component) {
3131
sizePerPageRenderer,
3232
sizePerPageOptionRenderer,
3333
onSizePerPageChange,
34+
bootstrap4,
3435
...rest
3536
} = this.props;
3637

@@ -44,6 +45,7 @@ class Pagination extends pageResolver(Component) {
4445
<div className="row react-bootstrap-table-pagination">
4546
<div className="col-md-6 col-xs-6 col-sm-6 col-lg-6">
4647
<SizePerPageDropdownWithAdapter
48+
bootstrap4={ bootstrap4 }
4749
tableId={ tableId }
4850
sizePerPageList={ sizePerPageList }
4951
currSizePerPage={ currSizePerPage }
@@ -94,6 +96,7 @@ Pagination.propTypes = {
9496
currSizePerPage: PropTypes.number.isRequired,
9597
onPageChange: PropTypes.func.isRequired,
9698
onSizePerPageChange: PropTypes.func.isRequired,
99+
disablePageTitle: PropTypes.bool,
97100
pageStartIndex: PropTypes.number,
98101
paginationSize: PropTypes.number,
99102
showTotal: PropTypes.bool,
@@ -113,10 +116,13 @@ Pagination.propTypes = {
113116
withFirstAndLast: PropTypes.bool,
114117
alwaysShowAllBtns: PropTypes.bool,
115118
hideSizePerPage: PropTypes.bool,
116-
hidePageListOnlyOnePage: PropTypes.bool
119+
hidePageListOnlyOnePage: PropTypes.bool,
120+
bootstrap4: PropTypes.bool
117121
};
118122

119123
Pagination.defaultProps = {
124+
disablePageTitle: false,
125+
bootstrap4: false,
120126
pageStartIndex: Const.PAGE_START_INDEX,
121127
paginationSize: Const.PAGINATION_SIZE,
122128
withFirstAndLast: Const.With_FIRST_AND_LAST,

‎packages/react-bootstrap-table2-paginator/src/size-per-page-dropdown-adapter.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ const sizePerPageDropdownAdapter = WrappedComponent =>
3131
render() {
3232
const {
3333
tableId,
34+
bootstrap4,
3435
sizePerPageList,
3536
currSizePerPage,
3637
hideSizePerPage,
@@ -58,6 +59,7 @@ const sizePerPageDropdownAdapter = WrappedComponent =>
5859
onBlur={ this.closeDropDown }
5960
open={ open }
6061
tableId={ tableId }
62+
bootstrap4={ bootstrap4 }
6163
/>
6264
);
6365
}

‎packages/react-bootstrap-table2-paginator/src/size-per-page-dropdown.js

Lines changed: 51 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import React from 'react';
22
import cs from 'classnames';
33
import PropTypes from 'prop-types';
4-
import { BootstrapContext } from './bootstrap';
54
import SizePerPageOption from './size-per-page-option';
65

76
const sizePerPageDefaultClass = 'react-bs-table-sizePerPage-dropdown';
@@ -16,6 +15,7 @@ const SizePerPageDropDown = (props) => {
1615
options,
1716
className,
1817
variation,
18+
bootstrap4,
1919
btnContextual,
2020
optionRenderer,
2121
currSizePerPage,
@@ -34,60 +34,54 @@ const SizePerPageDropDown = (props) => {
3434
const id = tableId ? `${tableId}-pageDropDown` : 'pageDropDown';
3535

3636
return (
37-
<BootstrapContext.Consumer>
38-
{
39-
({ bootstrap4 }) => (
40-
<span
41-
style={ dropDownStyle }
42-
className={ dropdownClasses }
43-
>
44-
<button
45-
id={ id }
46-
type="button"
47-
className={ `btn ${btnContextual} dropdown-toggle` }
48-
data-toggle="dropdown"
49-
aria-expanded={ open }
50-
onClick={ onClick }
51-
onBlur={ onBlur }
52-
>
53-
{ currSizePerPage }
54-
{ ' ' }
55-
{
56-
bootstrap4 ? null : (
57-
<span>
58-
<span className="caret" />
59-
</span>
60-
)
61-
}
62-
</button>
63-
<ul
64-
className={ `dropdown-menu ${openClass}` }
65-
role="menu"
66-
aria-labelledby={ id }
67-
>
68-
{
69-
options.map((option) => {
70-
if (optionRenderer) {
71-
return optionRenderer({
72-
...option,
73-
onSizePerPageChange
74-
});
75-
}
76-
return (
77-
<SizePerPageOption
78-
{ ...option }
79-
key={ option.text }
80-
bootstrap4={ bootstrap4 }
81-
onSizePerPageChange={ onSizePerPageChange }
82-
/>
83-
);
84-
})
85-
}
86-
</ul>
87-
</span>
88-
)
89-
}
90-
</BootstrapContext.Consumer>
37+
<span
38+
style={ dropDownStyle }
39+
className={ dropdownClasses }
40+
>
41+
<button
42+
id={ id }
43+
type="button"
44+
className={ `btn ${btnContextual} dropdown-toggle` }
45+
data-toggle="dropdown"
46+
aria-expanded={ open }
47+
onClick={ onClick }
48+
onBlur={ onBlur }
49+
>
50+
{ currSizePerPage }
51+
{ ' ' }
52+
{
53+
bootstrap4 ? null : (
54+
<span>
55+
<span className="caret" />
56+
</span>
57+
)
58+
}
59+
</button>
60+
<ul
61+
className={ `dropdown-menu ${openClass}` }
62+
role="menu"
63+
aria-labelledby={ id }
64+
>
65+
{
66+
options.map((option) => {
67+
if (optionRenderer) {
68+
return optionRenderer({
69+
...option,
70+
onSizePerPageChange
71+
});
72+
}
73+
return (
74+
<SizePerPageOption
75+
{ ...option }
76+
key={ option.text }
77+
bootstrap4={ bootstrap4 }
78+
onSizePerPageChange={ onSizePerPageChange }
79+
/>
80+
);
81+
})
82+
}
83+
</ul>
84+
</span>
9185
);
9286
};
9387

@@ -97,6 +91,7 @@ SizePerPageDropDown.propTypes = {
9791
onClick: PropTypes.func.isRequired,
9892
onBlur: PropTypes.func.isRequired,
9993
onSizePerPageChange: PropTypes.func.isRequired,
94+
bootstrap4: PropTypes.bool,
10095
tableId: PropTypes.string,
10196
open: PropTypes.bool,
10297
hidden: PropTypes.bool,
@@ -112,6 +107,7 @@ SizePerPageDropDown.defaultProps = {
112107
variation: 'dropdown',
113108
className: '',
114109
optionRenderer: null,
110+
bootstrap4: false,
115111
tableId: null
116112
};
117113

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /