From 8c75cf414f8df7de126b27297e1330c8b07c04e5 Mon Sep 17 00:00:00 2001 From: Tim Zieger Date: Tue, 2 Jun 2020 11:34:30 +0200 Subject: [PATCH] Implement pages for admin view --- frontend/src/views/Users.vue | 43 ++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/frontend/src/views/Users.vue b/frontend/src/views/Users.vue index 1769560..1bc5eab 100644 --- a/frontend/src/views/Users.vue +++ b/frontend/src/views/Users.vue @@ -3,6 +3,20 @@
+ + + + + mdi-arrow-left + + + + + mdi-arrow-right + + + + @@ -15,7 +29,10 @@ export default { }, data: () => ({ users: JSON.parse(sessionStorage.getItem("users")), - dialog: false + dialog: false, + page: sessionStorage.getItem("page"), + haveNextPage: "", + havePrevPage: "" }), methods: { edituser(userlink) { @@ -45,9 +62,24 @@ export default { sessionStorage.setItem("timeTrackAccountListUserId", uid); this.$router.push("/timetrackaccounts"); + }, + nextPage() { + var pageTMP = parseInt(this.page) + 1; + sessionStorage.setItem("page", pageTMP); + location.reload(); + }, + prevPage() { + var pageTMP = parseInt(this.page) - 1; + sessionStorage.setItem("page", pageTMP); + location.reload(); } }, created() { + var userLinks; + if (this.page == null) { + this.page = 0; + } + sessionStorage.removeItem("page"); var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { @@ -56,13 +88,20 @@ export default { "users", JSON.stringify(usersInformation._embedded.users) ); + userLinks = usersInformation._links; } }; - xhttp.open("GET", baseUri + "/users", false); + xhttp.open("GET", baseUri + "/users?page=" +this.page, false); xhttp.setRequestHeader("Authorization", sessionStorage.getItem("jwt")); xhttp.send(null); + if (userLinks.next != undefined) { + this.haveNextPage = true; + } + if (userLinks.prev != undefined) { + this.havePrevPage = true; + } this.users = JSON.parse(sessionStorage.getItem("users")); } };