Skip to content

Commit 19fddba

Browse files
author
vvo
committed
fix: set visibility:hidden by default for uneeded pagination links
It keeps the horizontal space fixes #37 (sort of, by making visibility hidden the default)
1 parent 60052fc commit 19fddba

File tree

2 files changed

+37
-7
lines changed

2 files changed

+37
-7
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
var React = require('react');
2+
3+
class PaginationHiddenLink extends React.Component {
4+
render() {
5+
var liStyle = {visibility: 'hidden'};
6+
return (
7+
<li style={liStyle}>
8+
<span dangerouslySetInnerHTML={{__html: this.props.label}}></span>
9+
</li>
10+
);
11+
}
12+
}
13+
14+
PaginationHiddenLink.propTypes = {
15+
label: React.PropTypes.oneOfType([
16+
React.PropTypes.string,
17+
React.PropTypes.number
18+
]).isRequired
19+
};
20+
21+
module.exports = PaginationHiddenLink;

components/Pagination/index.js

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ var React = require('react');
22
var forEach = require('lodash/collection/forEach');
33
var defaultsDeep = require('lodash/object/defaultsDeep');
44

5-
var Paginator = require('./Paginator');
6-
var PaginationLink = require('./PaginationLink');
5+
var Paginator = require('./Paginator/');
6+
var PaginationHiddenLink = require('./PaginationHiddenLink/');
7+
var PaginationLink = require('./PaginationLink/');
78

89
var bem = require('../BemHelper')('as-pagination');
910
var cx = require('classnames');
@@ -38,7 +39,9 @@ class Pagination extends React.Component {
3839
}
3940

4041
previousPageLink(pager) {
41-
if (pager.isFirstPage()) return null;
42+
if (pager.isFirstPage()) {
43+
return <PaginationHiddenLink label={this.props.labels.prev} />;
44+
}
4245

4346
return (
4447
<PaginationLink
@@ -50,7 +53,9 @@ class Pagination extends React.Component {
5053
}
5154

5255
nextPageLink(pager) {
53-
if (pager.isLastPage()) return null;
56+
if (pager.isLastPage()) {
57+
return <PaginationHiddenLink label={this.props.labels.next} />;
58+
}
5459

5560
return (
5661
<PaginationLink
@@ -62,7 +67,9 @@ class Pagination extends React.Component {
6267
}
6368

6469
firstPageLink(pager) {
65-
if (pager.isFirstPage()) return null;
70+
if (pager.isFirstPage()) {
71+
return <PaginationHiddenLink label={this.props.labels.first} />;
72+
}
6673

6774
return (
6875
<PaginationLink
@@ -75,7 +82,9 @@ class Pagination extends React.Component {
7582
}
7683

7784
lastPageLink(pager) {
78-
if (pager.isLastPage()) return null;
85+
if (pager.isLastPage()) {
86+
return <PaginationHiddenLink label={this.props.labels.last} />;
87+
}
7988

8089
return (
8190
<PaginationLink
@@ -91,7 +100,7 @@ class Pagination extends React.Component {
91100
var elements = [];
92101

93102
forEach(pager.pages(), function(pageNumber) {
94-
var className = pageNumber === pager.currentPage ? 'active' : '';
103+
var className = pageNumber === pager.currentPage ? 'active' : null;
95104

96105
elements.push(
97106
<PaginationLink

0 commit comments

Comments
 (0)