in components/RuiPagination/src/RuiPagination.ts [385:415]
private _renderPaginationItems(): TemplateResult[] {
if (this.numberOfPages === 1) {
return [this._renderPaginationItem(1,1)];
}
const [pageStart, pageEnd] = this._calculatePageStartEnd();
let renderLeftEllipses = false;
let renderRightEllipses = false;
if (pageStart > 3) { renderLeftEllipses = true; }
if ((this.numberOfPages - pageEnd) > 2) { renderRightEllipses = true; }
const paginationItems = [
this._renderPaginationItem(1, this.currentPage)
]
if (renderLeftEllipses) { paginationItems.push(this._renderEllipsesItem('left')); }
for (let i = pageStart; i < pageEnd + 1; i++) {
if (i !== 1 && i !== this.numberOfPages) {
paginationItems.push(this._renderPaginationItem(i, this.currentPage));
}
}
if (renderRightEllipses) { paginationItems.push(this._renderEllipsesItem('right')) }
paginationItems.push(this._renderPaginationItem(this.numberOfPages, this.currentPage))
return paginationItems;
}