@dhis2-ui/pagination 8.1.2 → 8.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -41,6 +41,27 @@ describe('<Pagination />', () => {
41
41
  expect(wrapper.find(_pageSelect.PageSelect).length).toEqual(0);
42
42
  expect(wrapper.find(_pageSizeSelect.PageSizeSelect).length).toEqual(1);
43
43
  });
44
+ it('renders without a PageSelect when pageCount is not provided', () => {
45
+ const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, _extends({}, props, {
46
+ pageCount: undefined
47
+ })));
48
+ expect(wrapper.find(_pageSelect.PageSelect).length).toEqual(0);
49
+ expect(wrapper.find(_pageSizeSelect.PageSizeSelect).length).toEqual(1);
50
+ });
51
+ it('renders without a PageSelect when pageCount is 1', () => {
52
+ const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, _extends({}, props, {
53
+ pageCount: 1
54
+ })));
55
+ expect(wrapper.find(_pageSelect.PageSelect).length).toEqual(0);
56
+ expect(wrapper.find(_pageSizeSelect.PageSizeSelect).length).toEqual(1);
57
+ });
58
+ it('renders without a PageSelect when pageCount is over 2000', () => {
59
+ const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, _extends({}, props, {
60
+ pageCount: 2001
61
+ })));
62
+ expect(wrapper.find(_pageSelect.PageSelect).length).toEqual(0);
63
+ expect(wrapper.find(_pageSizeSelect.PageSizeSelect).length).toEqual(1);
64
+ });
44
65
  it('renders without a PageSizeSelect when hidePageSizeSelect is true', () => {
45
66
  const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, _extends({}, props, {
46
67
  hidePageSizeSelect: true
@@ -31,6 +31,8 @@ var _pageSummary = require("./page-summary.js");
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
34
+ const MAX_PAGE_COUNT = 2000;
35
+
34
36
  const Pagination = ({
35
37
  className,
36
38
  dataTest,
@@ -62,6 +64,7 @@ const Pagination = ({
62
64
  pageSize,
63
65
  total
64
66
  });
67
+ const showPageSelect = !hidePageSelect && typeof pageCount === 'number' && pageCount > 1 && pageCount <= MAX_PAGE_COUNT;
65
68
  return /*#__PURE__*/_react.default.createElement("div", {
66
69
  "data-test": dataTest,
67
70
  className: "jsx-3647884394" + " " + ((0, _classnames.default)('container', className) || "")
@@ -83,7 +86,7 @@ const Pagination = ({
83
86
  total: total
84
87
  }), /*#__PURE__*/_react.default.createElement("div", {
85
88
  className: "jsx-3647884394" + " " + "page-navigation"
86
- }, !hidePageSelect && total && /*#__PURE__*/_react.default.createElement(_pageSelect.PageSelect, {
89
+ }, showPageSelect && /*#__PURE__*/_react.default.createElement(_pageSelect.PageSelect, {
87
90
  dataTest: dataTest,
88
91
  pageSelectText: pageSelectText,
89
92
  page: page,
@@ -27,6 +27,27 @@ describe('<Pagination />', () => {
27
27
  expect(wrapper.find(PageSelect).length).toEqual(0);
28
28
  expect(wrapper.find(PageSizeSelect).length).toEqual(1);
29
29
  });
30
+ it('renders without a PageSelect when pageCount is not provided', () => {
31
+ const wrapper = shallow( /*#__PURE__*/React.createElement(Pagination, _extends({}, props, {
32
+ pageCount: undefined
33
+ })));
34
+ expect(wrapper.find(PageSelect).length).toEqual(0);
35
+ expect(wrapper.find(PageSizeSelect).length).toEqual(1);
36
+ });
37
+ it('renders without a PageSelect when pageCount is 1', () => {
38
+ const wrapper = shallow( /*#__PURE__*/React.createElement(Pagination, _extends({}, props, {
39
+ pageCount: 1
40
+ })));
41
+ expect(wrapper.find(PageSelect).length).toEqual(0);
42
+ expect(wrapper.find(PageSizeSelect).length).toEqual(1);
43
+ });
44
+ it('renders without a PageSelect when pageCount is over 2000', () => {
45
+ const wrapper = shallow( /*#__PURE__*/React.createElement(Pagination, _extends({}, props, {
46
+ pageCount: 2001
47
+ })));
48
+ expect(wrapper.find(PageSelect).length).toEqual(0);
49
+ expect(wrapper.find(PageSizeSelect).length).toEqual(1);
50
+ });
30
51
  it('renders without a PageSizeSelect when hidePageSizeSelect is true', () => {
31
52
  const wrapper = shallow( /*#__PURE__*/React.createElement(Pagination, _extends({}, props, {
32
53
  hidePageSizeSelect: true
@@ -10,6 +10,7 @@ import { PageControls } from './page-controls.js';
10
10
  import { PageSelect } from './page-select.js';
11
11
  import { PageSizeSelect } from './page-size-select.js';
12
12
  import { PageSummary } from './page-summary.js';
13
+ const MAX_PAGE_COUNT = 2000;
13
14
 
14
15
  const Pagination = ({
15
16
  className,
@@ -42,6 +43,7 @@ const Pagination = ({
42
43
  pageSize,
43
44
  total
44
45
  });
46
+ const showPageSelect = !hidePageSelect && typeof pageCount === 'number' && pageCount > 1 && pageCount <= MAX_PAGE_COUNT;
45
47
  return /*#__PURE__*/React.createElement("div", {
46
48
  "data-test": dataTest,
47
49
  className: "jsx-3647884394" + " " + (cx('container', className) || "")
@@ -63,7 +65,7 @@ const Pagination = ({
63
65
  total: total
64
66
  }), /*#__PURE__*/React.createElement("div", {
65
67
  className: "jsx-3647884394" + " " + "page-navigation"
66
- }, !hidePageSelect && total && /*#__PURE__*/React.createElement(PageSelect, {
68
+ }, showPageSelect && /*#__PURE__*/React.createElement(PageSelect, {
67
69
  dataTest: dataTest,
68
70
  pageSelectText: pageSelectText,
69
71
  page: page,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dhis2-ui/pagination",
3
- "version": "8.1.2",
3
+ "version": "8.1.5",
4
4
  "description": "UI Pagination",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,10 +33,10 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@dhis2/prop-types": "^3.0.0-beta.1",
36
- "@dhis2-ui/button": "8.1.2",
37
- "@dhis2-ui/select": "8.1.2",
38
- "@dhis2/ui-constants": "8.1.2",
39
- "@dhis2/ui-icons": "8.1.2",
36
+ "@dhis2-ui/button": "8.1.5",
37
+ "@dhis2-ui/select": "8.1.5",
38
+ "@dhis2/ui-constants": "8.1.5",
39
+ "@dhis2/ui-icons": "8.1.5",
40
40
  "classnames": "^2.3.1",
41
41
  "prop-types": "^15.7.2"
42
42
  },