UNPKG

@tableus/ui-bootstrap5

Version:

A Bootstrap 5 UI for tableus.

39 lines 2.29 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PageSelect = void 0; const react_1 = __importDefault(require("react")); const react_bootstrap_1 = require("react-bootstrap"); function PageSelect({ paginationMethods: { getCanPreviousPage, nextPage, previousPage, setPageIndex, }, paginationState: { pageIndex, pageCount, total }, }) { if (pageCount === undefined) return null; let sliderMin = pageIndex - 2; let sliderMax = pageIndex + 2; if (sliderMin < 0) sliderMin = 0; if (sliderMax > pageCount - 1) sliderMax = pageCount - 1; const slider = []; for (let i = sliderMin; i <= sliderMax; i++) { slider.push(i); } // const canNextPage = getCanNextPage(); broken atm const canNextPage = pageIndex < pageCount - 1; return (react_1.default.createElement("div", null, react_1.default.createElement(react_bootstrap_1.Pagination, null, react_1.default.createElement(react_bootstrap_1.Pagination.Prev, { disabled: !getCanPreviousPage(), onClick: previousPage }), sliderMin > 0 && (react_1.default.createElement(react_bootstrap_1.Pagination.Item, { onClick: () => setPageIndex(0) }, 1)), sliderMin > 1 && react_1.default.createElement(react_bootstrap_1.Pagination.Ellipsis, null), slider.map((i) => (react_1.default.createElement(react_bootstrap_1.Pagination.Item, { active: i == pageIndex, key: i, onClick: () => setPageIndex(i) }, i + 1))), sliderMax < pageCount - 2 && react_1.default.createElement(react_bootstrap_1.Pagination.Ellipsis, null), sliderMax < pageCount - 1 && (react_1.default.createElement(react_bootstrap_1.Pagination.Item, { onClick: () => setPageIndex(pageCount - 1) }, pageCount)), react_1.default.createElement(react_bootstrap_1.Pagination.Next, { disabled: !canNextPage, onClick: nextPage })), total !== undefined && (react_1.default.createElement("span", null, total, " ", total === 1 ? "Eintrag" : "Einträge")))); } exports.PageSelect = PageSelect; //# sourceMappingURL=PageSelect.js.map