Skip to content

Commit

Permalink
adds fix if totalPages < visiblePages
Browse files Browse the repository at this point in the history
  • Loading branch information
Leonid Orsulic authored and Leonid Orsulic committed Jul 17, 2017
1 parent 2602101 commit ccab611
Showing 1 changed file with 30 additions and 27 deletions.
57 changes: 30 additions & 27 deletions Sources/Paginator+Leaf.swift
Original file line number Diff line number Diff line change
Expand Up @@ -101,39 +101,42 @@ extension PaginatorTag {
let visible = visiblePages ?? 8
var pageOrder: [Int] = []

pageOrder.append(currentPage)
for i in 1...(visible/2) {

if (currentPage + i) <= count {
pageOrder.append(currentPage + i)
}
if (currentPage - i) > 0 {
pageOrder.append(currentPage - i)
if (count > visible) {
pageOrder.append(currentPage)
for i in 1...(visible/2) {

if (currentPage + i) <= count {
pageOrder.append(currentPage + i)
}
if (currentPage - i) > 0 {
pageOrder.append(currentPage - i)
}

}
pageOrder.sort()

}
pageOrder.sort()

if pageOrder.count < visible {

let missing = visible - pageOrder.count
for _ in 1...missing {
if pageOrder.count < visible {

if pageOrder.first! == 1 {
// append element
pageOrder.append(pageOrder.last! + 1)
} else {
// prepend element
pageOrder.insert(pageOrder.first! - 1, at: 0)
let missing = visible - pageOrder.count
for _ in 1...missing {

if pageOrder.first! == 1 {
// append element
pageOrder.append(pageOrder.last! + 1)
} else {
// prepend element
pageOrder.insert(pageOrder.first! - 1, at: 0)
}
}

} else if pageOrder.count > visible {
if visible % 2 == 0 {
pageOrder.removeFirst()
}
}

} else if pageOrder.count > visible {
if visible % 2 == 0 {
pageOrder.removeFirst()
}
} else {
pageOrder = Array(1...count)
}


for i in pageOrder {
let path = PaginatorHelper.buildPath(page: i, count: count, uriQueries: queries)
Expand Down

0 comments on commit ccab611

Please sign in to comment.