@awsui/components-react
Version:
AWS UI is a collection of [React](https://reactjs.org/) components that help create intuitive, responsive, and accessible user experiences for web applications. It is developed by Amazon Web Services (AWS). This work is available under the terms of the [A
40 lines (39 loc) • 1.23 kB
JavaScript
export function range(from, to) {
var result = [];
for (var i = from; i <= to; i++) {
result.push(i);
}
return result;
}
export function getPaginationState(currentPageIndex, totalPagesCount, isOpenEnd) {
var numberOfControls = 7;
var leftDelta = Math.floor(numberOfControls / 2);
var rightDelta = leftDelta;
var lowerLimit = 2;
var upperLimit = totalPagesCount - 1;
if (isOpenEnd) {
rightDelta++;
upperLimit = totalPagesCount + 1;
}
var leftIndex = currentPageIndex - leftDelta;
var rightIndex = currentPageIndex + rightDelta;
if (leftIndex < lowerLimit) {
rightIndex += lowerLimit - leftIndex;
leftIndex = lowerLimit;
}
if (rightIndex > upperLimit) {
leftIndex -= rightIndex - upperLimit;
rightIndex = upperLimit;
}
leftIndex = Math.max(leftIndex, 2);
rightIndex = Math.min(rightIndex, upperLimit);
var leftDots = leftIndex > 2;
var rightDots = isOpenEnd || rightIndex < upperLimit;
if (leftDots) {
leftIndex++;
}
if (rightDots) {
rightIndex--;
}
return { leftDots: leftDots, rightDots: rightDots, leftIndex: leftIndex, rightIndex: rightIndex };
}