getPages method
@param{page} current page number
@param{numberOfResults} number of query results
@param{resultsPerPage} number of result we want to show in one time
@return array of numbers, which will be dsplayed as pages in the
pagination widget, for instance: 4, 5, 6, 7, 8
Implementation
getPages(num page, num length, num resultsPerPage) {
List result = [];
if (page > 3) {
if (length == resultsPerPage) {
for (num i = page - 2; i <= page + 2; i++) {
result.add(i);
}
return result;
} else {
num start = page == 4 ? page - 2 : page - 3;
num end = page == 4 ? page + 1 : page;
for (num i = start; i <= end; i++) {
result.add(i);
}
return result;
}
}
if (page <= 3) {
for (num i = 2; i < 6; i++) {
result.add(i);
}
return result;
}
return [];
}