pagination-bar-generator
This library is used for generating pagination bar.
Usage
import { Paginator, PageItems } from "pagination-bar-generator";
const paginator = Paginator.builder(5).currentPage(1).buildPaginator();
let html = "";
for (const pageItem of paginator.paginate()) {
if (pageItem instanceof PageItems.Prev) {
html += `<li><a href="/page/${pageItem.pageNumber}">«</a></li>`;
} else if (pageItem instanceof PageItems.Page) {
html += `<li><a href="/page/${pageItem.pageNumber}">${pageItem.pageNumber}</a></li>`;
} else if (pageItem instanceof PageItems.CurrentPage) {
html += `<li>${pageItem.pageNumber}</li>`;
} else if (pageItem instanceof PageItems.Ignore) {
html += `<li>...</li>`;
} else if (pageItem instanceof PageItems.Next) {
html += `<li><a href="/page/${pageItem.pageNumber}">»</a></li>`;
} else {
// `PageItem.ReservedPrev` or `PageItem.ReservedNext` variant is used only when the `hasPrev` option or the `hasNext` option is set to `YesNoDepends.Yes`.
}
}