semantic-ui-react
Version:
The official Semantic-UI-React integration.
30 lines (24 loc) • 1.47 kB
JavaScript
exports.__esModule = true;
exports.default = void 0;
var _itemFactories = require("./itemFactories");
var _rangeFactories = require("./rangeFactories");
var _paginationUtils = require("./paginationUtils");
/**
* @param {object} rawOptions
* @param {number|string} rawOptions.activePage
* @param {number|string} rawOptions.boundaryRange Number of always visible pages at the beginning and end.
* @param {boolean} rawOptions.hideEllipsis Marks if ellipsis should be hidden.
* @param {number|string} rawOptions.siblingRange Number of always visible pages before and after the current one.
* @param {number|string} rawOptions.totalPages Total number of pages.
*/
var createPaginationItems = function createPaginationItems(rawOptions) {
var options = (0, _paginationUtils.typifyOptions)(rawOptions);
var activePage = options.activePage,
totalPages = options.totalPages;
var pageFactory = (0, _itemFactories.createPageFactory)(activePage);
var innerRange = (0, _paginationUtils.isSimplePagination)(options) ? (0, _rangeFactories.createSimpleRange)(1, totalPages, pageFactory) : (0, _rangeFactories.createComplexRange)(options, pageFactory);
return [(0, _itemFactories.createFirstPage)(), (0, _itemFactories.createPrevItem)(activePage)].concat(innerRange, [(0, _itemFactories.createNextItem)(activePage, totalPages), (0, _itemFactories.createLastItem)(totalPages)]);
};
var _default = createPaginationItems;
exports.default = _default;
;