@kubit-ui-web/react-components
Version:
Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience
36 lines • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.calcFirstLastVisiblePosition = exports.getPositionWithIn = void 0;
const pageControlStates_1 = require("../types/pageControlStates");
const getPositionWithIn = (currentPosition, pages) => {
return Math.max(0, Math.min(currentPosition, pages - 1));
};
exports.getPositionWithIn = getPositionWithIn;
const calcFirstLastVisiblePosition = ({ isBullet, direction, currentPosition, pages, dots, }) => {
let firstVisiblePosition = 0;
let lastVisiblePosition = firstVisiblePosition + dots - 1;
// On lines pagination (!isBullet), we do not use forth and back logic
if (!isBullet || direction === pageControlStates_1.PageControlDirectionType.FORTH) {
if (currentPosition - dots < 0) {
firstVisiblePosition = 0;
lastVisiblePosition = firstVisiblePosition + dots - 1;
}
else {
lastVisiblePosition = currentPosition;
firstVisiblePosition = lastVisiblePosition - (dots - 1);
}
}
else {
if (pages - dots <= currentPosition) {
lastVisiblePosition = pages - 1;
firstVisiblePosition = lastVisiblePosition - (dots - 1);
}
else {
firstVisiblePosition = currentPosition;
lastVisiblePosition = firstVisiblePosition + dots - 1;
}
}
return { firstVisiblePosition, lastVisiblePosition };
};
exports.calcFirstLastVisiblePosition = calcFirstLastVisiblePosition;
//# sourceMappingURL=positions.js.map