var state = { 'querySet': [{ "clientUUID": "436c4774-038f-4540-9c18-2691ca9b53d4", "mockedResponseId": 1908998, "mediaType": "application/xml", "messageBody": "body", "httpHeaders": null, "httpStatus": 200 }], 'page': 1, 'rows': 10, 'window': 5, } var myList, data, previousSort; state.querySet = listForPagination; buildTable(); document.querySelector('#btn-list-1').addEventListener('click', function() { var x = document.getElementById("list-wrapper"); if (x.style.display === "none") { x.style.display = "block"; } else { x.style.display = "none"; } }) document.querySelector('#btn-list-2').addEventListener('click', function() { var x = document.getElementById("advanced-wrapper"); if (x.style.display === "none") { x.style.display = "block"; } else { x.style.display = "none"; } }) for (let i = 3; i >= 0; i--) { document.querySelector('#btn-sort-' + i).addEventListener('click', function() { addButtonListeners(i) }) } function addButtonListeners(i) { var buttons = document.querySelectorAll('.btn-sort'); for (var j = buttons.length - 1; j >= 0; j--) { buttons[j].classList.remove('activeButton'); } document.querySelector('#btn-sort-' + i).classList.add('activeButton'); buildTable(); } function pagination(querySet, page, rows) { var trimStart = (page - 1) * rows var trimEnd = trimStart + rows var trimmedData = querySet.slice(trimStart, trimEnd) var pages = Math.ceil(querySet.length / rows); if(pages === 0){pages = 1} return { 'querySet': trimmedData, 'pages': pages, } } function pageButtons(pages) { var wrapper = document.getElementById('pagination-wrapper'); wrapper.innerHTML = ``; var maxLeft = (state.page - Math.floor(state.window / 2)) var maxRight = (state.page + Math.ceil(state.window / 2)) if (maxLeft < 1) { maxLeft = 1 maxRight = state.window } if (maxRight > pages) { maxLeft = pages - (state.window - 1) if (maxLeft < 1) { maxLeft = 1 } maxRight = pages } for (var page = maxLeft; page <= maxRight; page++) { if (page === state.page) { wrapper.innerHTML += `` } else { wrapper.innerHTML += `` } } if (state.page != 1) { wrapper.innerHTML = `` + wrapper.innerHTML } if (state.page != pages) { wrapper.innerHTML += `` } $('.page').on('click', function() { $('#table-body').empty() state.page = Number($(this).val()) buildPage() }) } function showTable() { var table = $('#table-body') table.empty(); for (var i = 1; i <= myList.length; i++) { var j = i + (state.page - 1) * 10; if (i % 2 === 0) { var row = `