@@ -1875,6 +1875,7 @@ return /******/ (function(modules) { // webpackBootstrap
1875
1875
ref: function ref(node) {
1876
1876
return _this12.pagination = node;
1877
1877
},
1878
+ version: this.props.version,
1878
1879
withFirstAndLast: withFirstAndLast,
1879
1880
alwaysShowAllBtns: options.alwaysShowAllBtns,
1880
1881
currPage: this.state.currPage,
@@ -5059,7 +5060,7 @@ return /******/ (function(modules) { // webpackBootstrap
5059
5060
var filter = currentFilter[nextProps.dataField];
5060
5061
var value = filter ? filter.value : '';
5061
5062
5062
- var _ref = this.getFilters() || {},
5063
+ var _ref = this.getFilters(nextProps ) || {},
5063
5064
ref = _ref.ref;
5064
5065
5065
5066
if (this.refs[ref]) {
@@ -5088,49 +5089,49 @@ return /******/ (function(modules) { // webpackBootstrap
5088
5089
value: function getFilters() {
5089
5090
var _this2 = this;
5090
5091
5091
- var _props = this.props,
5092
- headerText = _props .headerText,
5093
- children = _props .children;
5092
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;
5093
+ var headerText = props .headerText,
5094
+ children = props .children;
5094
5095
5095
- switch (this. props.filter.type) {
5096
+ switch (props.filter.type) {
5096
5097
case _Const2.default.FILTER_TYPE.TEXT:
5097
5098
{
5098
5099
return _react2.default.createElement(_Text2.default, _extends({ ref: function ref(n) {
5099
5100
return _this2.textFilter = n;
5100
- } }, this. props.filter, {
5101
+ } }, props.filter, {
5101
5102
columnName: headerText || children, filterHandler: this.handleFilter }));
5102
5103
}
5103
5104
case _Const2.default.FILTER_TYPE.REGEX:
5104
5105
{
5105
5106
return _react2.default.createElement(_Regex2.default, _extends({ ref: function ref(n) {
5106
5107
return _this2.regexFilter = n;
5107
- } }, this. props.filter, {
5108
+ } }, props.filter, {
5108
5109
columnName: headerText || children, filterHandler: this.handleFilter }));
5109
5110
}
5110
5111
case _Const2.default.FILTER_TYPE.SELECT:
5111
5112
{
5112
5113
return _react2.default.createElement(_Select2.default, _extends({ ref: function ref(n) {
5113
5114
return _this2.selectFilter = n;
5114
- } }, this. props.filter, {
5115
+ } }, props.filter, {
5115
5116
columnName: headerText || children, filterHandler: this.handleFilter }));
5116
5117
}
5117
5118
case _Const2.default.FILTER_TYPE.NUMBER:
5118
5119
{
5119
5120
return _react2.default.createElement(_Number2.default, _extends({ ref: function ref(n) {
5120
5121
return _this2.numberFilter = n;
5121
- } }, this. props.filter, {
5122
+ } }, props.filter, {
5122
5123
columnName: headerText || children, filterHandler: this.handleFilter }));
5123
5124
}
5124
5125
case _Const2.default.FILTER_TYPE.DATE:
5125
5126
{
5126
5127
return _react2.default.createElement(_Date2.default, _extends({ ref: function ref(n) {
5127
5128
return _this2.dateFilter = n;
5128
- } }, this. props.filter, {
5129
+ } }, props.filter, {
5129
5130
columnName: headerText || children, filterHandler: this.handleFilter }));
5130
5131
}
5131
5132
case _Const2.default.FILTER_TYPE.CUSTOM:
5132
5133
{
5133
- var elm = this. props.filter.getElement(this.handleFilter, this. props.filter.customFilterParameters);
5134
+ var elm = props.filter.getElement(this.handleFilter, props.filter.customFilterParameters);
5134
5135
5135
5136
return _react2.default.cloneElement(elm, { ref: function ref(n) {
5136
5137
return _this2.customFilter = n;
@@ -5175,23 +5176,23 @@ return /******/ (function(modules) { // webpackBootstrap
5175
5176
var defaultCaret = void 0;
5176
5177
var sortCaret = void 0;
5177
5178
var sortClass = void 0;
5178
- var _props2 = this.props,
5179
- headerText = _props2 .headerText,
5180
- dataAlign = _props2 .dataAlign,
5181
- dataField = _props2 .dataField,
5182
- headerAlign = _props2 .headerAlign,
5183
- headerTitle = _props2 .headerTitle,
5184
- hidden = _props2 .hidden,
5185
- sort = _props2 .sort,
5186
- dataSort = _props2 .dataSort,
5187
- sortIndicator = _props2 .sortIndicator,
5188
- children = _props2 .children,
5189
- caretRender = _props2 .caretRender,
5190
- className = _props2 .className,
5191
- isOnlyHead = _props2 .isOnlyHead,
5192
- version = _props2 .version,
5193
- customSortClass = _props2 .sortHeaderColumnClassName,
5194
- style = _props2 .thStyle;
5179
+ var _props = this.props,
5180
+ headerText = _props .headerText,
5181
+ dataAlign = _props .dataAlign,
5182
+ dataField = _props .dataField,
5183
+ headerAlign = _props .headerAlign,
5184
+ headerTitle = _props .headerTitle,
5185
+ hidden = _props .hidden,
5186
+ sort = _props .sort,
5187
+ dataSort = _props .dataSort,
5188
+ sortIndicator = _props .sortIndicator,
5189
+ children = _props .children,
5190
+ caretRender = _props .caretRender,
5191
+ className = _props .className,
5192
+ isOnlyHead = _props .isOnlyHead,
5193
+ version = _props .version,
5194
+ customSortClass = _props .sortHeaderColumnClassName,
5195
+ style = _props .thStyle;
5195
5196
5196
5197
var thStyle = _extends({
5197
5198
textAlign: headerAlign || dataAlign,
@@ -9614,33 +9615,51 @@ return /******/ (function(modules) { // webpackBootstrap
9614
9615
}
9615
9616
9616
9617
if (dropdownProps || !dropdown) {
9618
+ var isBootstrap4 = _util2.default.isBootstrap4(this.props.version);
9617
9619
var sizePerPageOptions = sizePerPageList.map(function (_sizePerPage) {
9618
9620
var pageText = _sizePerPage.text || _sizePerPage;
9619
9621
var pageNum = _sizePerPage.value || _sizePerPage;
9620
9622
if (sizePerPage === pageNum) sizePerPageText = pageText;
9621
- return _react2.default.createElement(
9622
- 'li',
9623
- { key: pageText, role: 'presentation', className: 'dropdown-item' },
9624
- _react2.default.createElement(
9623
+ if (isBootstrap4) {
9624
+ return _react2.default.createElement(
9625
9625
'a',
9626
- { role: 'menuitem',
9627
- tabIndex: '-1', href: '#',
9628
- 'data-page': pageNum,
9626
+ {
9627
+ href: '#',
9628
+ tabIndex: '-1',
9629
+ key: pageText,
9630
+ className: 'dropdown-item',
9629
9631
onMouseDown: function onMouseDown(e) {
9630
9632
e.preventDefault();
9631
9633
_this3.changeSizePerPage(pageNum);
9632
9634
} },
9633
9635
pageText
9634
- )
9635
- );
9636
+ );
9637
+ } else {
9638
+ return _react2.default.createElement(
9639
+ 'li',
9640
+ { key: pageText, role: 'presentation', className: 'dropdown-item' },
9641
+ _react2.default.createElement(
9642
+ 'a',
9643
+ { role: 'menuitem',
9644
+ tabIndex: '-1', href: '#',
9645
+ 'data-page': pageNum,
9646
+ onMouseDown: function onMouseDown(e) {
9647
+ e.preventDefault();
9648
+ _this3.changeSizePerPage(pageNum);
9649
+ } },
9650
+ pageText
9651
+ )
9652
+ );
9653
+ }
9636
9654
});
9637
9655
dropdown = _react2.default.createElement(_SizePerPageDropDown2.default, _extends({
9638
9656
open: this.state.open,
9639
9657
hidden: hideSizePerPage,
9640
9658
currSizePerPage: String(sizePerPageText),
9641
9659
options: sizePerPageOptions,
9642
9660
onClick: this.toggleDropDown,
9643
- onBlur: this.closeDropDown
9661
+ onBlur: this.closeDropDown,
9662
+ isBootstrap4: isBootstrap4
9644
9663
}, dropdownProps));
9645
9664
}
9646
9665
return dropdown;
@@ -9675,15 +9694,20 @@ return /******/ (function(modules) { // webpackBootstrap
9675
9694
var isActive = page === this.props.currPage;
9676
9695
var isDisabled = isStart(page, this.props) || isEnd(page, this.props) ? true : false;
9677
9696
var title = page + '';
9697
+ var pageNumber = page;
9678
9698
9679
9699
if (page === this.props.nextPage) {
9680
9700
title = this.props.nextPageTitle;
9701
+ pageNumber = this.props.currPage + 1;
9681
9702
} else if (page === this.props.prePage) {
9682
9703
title = this.props.prePageTitle;
9704
+ pageNumber = this.props.currPage - 1;
9683
9705
} else if (page === this.props.firstPage) {
9684
9706
title = this.props.firstPageTitle;
9707
+ pageNumber = this.props.pageStartIndex;
9685
9708
} else if (page === this.props.lastPage) {
9686
9709
title = this.props.lastPageTitle;
9710
+ pageNumber = this.getLastPage();
9687
9711
}
9688
9712
9689
9713
return _react2.default.createElement(
@@ -9692,7 +9716,8 @@ return /******/ (function(modules) { // webpackBootstrap
9692
9716
title: title,
9693
9717
changePage: this.changePage,
9694
9718
active: isActive,
9695
- disable: isDisabled },
9719
+ disable: isDisabled,
9720
+ pageNumber: pageNumber },
9696
9721
page
9697
9722
);
9698
9723
}, this);
@@ -9852,7 +9877,7 @@ return /******/ (function(modules) { // webpackBootstrap
9852
9877
key: '__pageBtnClick__REACT_HOT_LOADER__',
9853
9878
value: function __pageBtnClick__REACT_HOT_LOADER__(e) {
9854
9879
e.preventDefault();
9855
- this.props.changePage(e.currentTarget.textContent );
9880
+ this.props.changePage(this.props.pageNumber );
9856
9881
}
9857
9882
}, {
9858
9883
key: 'render',
@@ -9884,7 +9909,8 @@ return /******/ (function(modules) { // webpackBootstrap
9884
9909
active: _propTypes2.default.bool,
9885
9910
disable: _propTypes2.default.bool,
9886
9911
hidden: _propTypes2.default.bool,
9887
- children: _propTypes2.default.node
9912
+ children: _propTypes2.default.node,
9913
+ pageNumber: _propTypes2.default.number
9888
9914
};
9889
9915
9890
9916
var _default = PageButton;
@@ -9954,21 +9980,35 @@ return /******/ (function(modules) { // webpackBootstrap
9954
9980
className = _props.className,
9955
9981
variation = _props.variation,
9956
9982
btnContextual = _props.btnContextual,
9983
+ isBootstrap4 = _props.isBootstrap4,
9957
9984
currSizePerPage = _props.currSizePerPage;
9958
9985
9959
9986
9987
+ if (hidden) return null;
9988
+
9960
9989
var openClass = open ? 'open show' : '';
9961
- var dropDownStyle = { visibility: hidden ? 'hidden' : 'visible' };
9990
+
9991
+ var renderOptions = function renderOptions() {
9992
+ var attrs = {
9993
+ className: 'dropdown-menu ' + openClass,
9994
+ role: 'menu',
9995
+ 'aria-labelledby': 'pageDropDown'
9996
+ };
9997
+ var type = isBootstrap4 ? 'div' : 'ul';
9998
+
9999
+ return _react2.default.createElement(type, attrs, options);
10000
+ };
9962
10001
9963
10002
return _react2.default.createElement(
9964
10003
'span',
9965
- { style: dropDownStyle,
10004
+ {
9966
10005
className: variation + ' ' + openClass + ' ' + className + ' ' + sizePerPageDefaultClass },
9967
10006
_react2.default.createElement(
9968
10007
'button',
9969
10008
{ className: 'btn ' + btnContextual + ' dropdown-toggle',
9970
10009
id: 'pageDropDown', 'data-toggle': 'dropdown',
9971
10010
'aria-expanded': open,
10011
+ 'aria-haspopup': !open,
9972
10012
onClick: onClick,
9973
10013
onBlur: onBlur },
9974
10014
currSizePerPage,
@@ -9979,11 +10019,7 @@ return /******/ (function(modules) { // webpackBootstrap
9979
10019
_react2.default.createElement('span', { className: 'caret' })
9980
10020
)
9981
10021
),
9982
- _react2.default.createElement(
9983
- 'ul',
9984
- { className: 'dropdown-menu', role: 'menu', 'aria-labelledby': 'pageDropDown' },
9985
- options
9986
- )
10022
+ renderOptions()
9987
10023
);
9988
10024
}
9989
10025
}]);
0 commit comments