diff --git a/assets/js/po.js b/assets/js/po.js index 0f686e3..83780e5 100644 --- a/assets/js/po.js +++ b/assets/js/po.js @@ -116,13 +116,78 @@ $(document).ready(function () { } function renderPOPagination(totalPages) { - let paginationHtml = `
  • Previous
  • `; - for (let i = 1; i <= totalPages; i++) { - paginationHtml += `
  • ${i}
  • `; + let paginationHtml = ''; + + // Previous Button + paginationHtml += ` +
  • + + Previous + +
  • + `; + + let startPage = Math.max(1, poCurrentPage - 2); + let endPage = Math.min(totalPages, poCurrentPage + 2); + + // Always show first page + if (startPage > 1) { + paginationHtml += ` +
  • + 1 +
  • + `; + + if (startPage > 2) { + paginationHtml += ` +
  • + ... +
  • + `; + } } - paginationHtml += `
  • Next
  • `; + + // Middle Pages + for (let i = startPage; i <= endPage; i++) { + paginationHtml += ` +
  • + + ${i} + +
  • + `; + } + + // Always show last page + if (endPage < totalPages) { + if (endPage < totalPages - 1) { + paginationHtml += ` +
  • + ... +
  • + `; + } + + paginationHtml += ` +
  • + + ${totalPages} + +
  • + `; + } + + // Next Button + paginationHtml += ` +
  • + + Next + +
  • + `; + $("#poPaginationControls").html(paginationHtml); - } +} window.changePOPage = function(newPage) { poCurrentPage = newPage;