var pagination_current = 1; var pagination_end = 10 async function changeSite(site){ console.log(site) const response = await fetch(`/changeSite`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ site: site, }), }); data = await response.json(); transaction_status = "success" if (data.error){ transaction_status = "danger" } UIkit.notification({ message: data.message, status: transaction_status, pos: 'top-right', timeout: 5000 }); location.reload(true) } document.addEventListener('DOMContentLoaded', async function() { let receipts = await getReceipts() await replenishReceiptsTable(receipts) updatePaginationElement() }) async function replenishReceiptsTable(receipts) { let receiptsTableBody = document.getElementById("receiptsTableBody") receiptsTableBody.innerHTML = "" for(let i = 0; i < receipts.length; i++){ let tableRow = document.createElement('tr') let receiptIDCell = document.createElement('td') receiptIDCell.innerHTML = receipts[i].receipt_id let statusCell = document.createElement('td') statusCell.innerHTML = receipts[i].receipt_status let dateCell = document.createElement('td') dateCell.innerHTML = receipts[i].date_submitted dateCell.classList.add("uk-visible@m") let submittedByCell = document.createElement('td') submittedByCell.innerHTML = receipts[i].submitted_by submittedByCell.classList.add("uk-visible@m") tableRow.append( receiptIDCell, statusCell, dateCell, submittedByCell ) tableRow.onclick = async function() { let url = `${window.location.origin}/receipt/${receipts[i].id}`; window.location.href = url; } tableRow.style = "cursor: pointer;" receiptsTableBody.append(tableRow) } } var receipts_limit = 10 async function getReceipts() { const url = new URL('/receipts/getReceipts', window.location.origin); url.searchParams.append('page', pagination_current); url.searchParams.append('limit', receipts_limit); const response = await fetch(url); data = await response.json(); pagination_end = data.end let receipts = data.receipts; return receipts; } async function setPage(page) { pagination_current = page let receipts = await getReceipts() replenishReceiptsTable(receipts) updatePaginationElement() } async function updatePaginationElement() { let paginationElement = document.getElementById("paginationElement"); paginationElement.innerHTML = ""; // previous let previousElement = document.createElement('li') if(pagination_current<=1){ previousElement.innerHTML = ``; previousElement.classList.add('uk-disabled'); }else { previousElement.innerHTML = ``; } paginationElement.append(previousElement) //first let firstElement = document.createElement('li') if(pagination_current<=1){ firstElement.innerHTML = `1`; firstElement.classList.add('uk-disabled'); }else { firstElement.innerHTML = `1`; } paginationElement.append(firstElement) // ... if(pagination_current-2>1){ let firstDotElement = document.createElement('li') firstDotElement.classList.add('uk-disabled') firstDotElement.innerHTML = `…`; paginationElement.append(firstDotElement) } // last if(pagination_current-2>0){ let lastElement = document.createElement('li') lastElement.innerHTML = `${pagination_current-1}` paginationElement.append(lastElement) } // current if(pagination_current!=1 && pagination_current != pagination_end){ let currentElement = document.createElement('li') currentElement.innerHTML = `