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, messageList; messageList = messageListForPagination; state.querySet = listForPagination; buildTable(); 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 showBody(elt){ $("#" + elt.id + "-body").toggle(); } function showTable() { var table = $('#table-body') table.empty(); var color; for (var i = 1; i <= myList.length; i++) { var j = i + (state.page - 1) * 10; i % 2 === 0 ? color = "#b3ffff" : color="#e6ffff"; var row = `