| | |
| | | import {onMounted, reactive, ref} from "vue" |
| | | import {useRoute} from "vue-router" |
| | | import Pagination from "../components/Pagination.vue" |
| | | import {getUsers, routerBase} from "@/lib/api" |
| | | import {useRouteQuery} from '@vueuse/router' |
| | | import {onKeyStroke} from "@vueuse/core" |
| | | |
| | | const route = useRoute() |
| | | const userId = route.params.userId |
| | | const users = reactive({ |
| | | total: 0, |
| | | offset: 0, |
| | | offset: 0, // NO! USE offset BELOW! |
| | | limit: 10, |
| | | data: [], |
| | | }) |
| | | const limit = 24 |
| | | const offset = useRouteQuery("offset", 0, {transform: Number}) |
| | | const limit = 22 |
| | | const error = ref(null) |
| | | |
| | | onMounted(init) |
| | | onMounted(() => init(offset.value)) |
| | | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | | |
| | | async function init (offset = 0) { |
| | | const res = await fetch(`/api/users?offset=${offset}&limit=${limit}&token=jiuGfr432898D90290kjfsldkfn3hh8F`) |
| | | const data = await res.json() |
| | | async function init (noffset = 0) { |
| | | const data = await getUsers(noffset, limit) |
| | | console.log(data) |
| | | if (res.status === 200) { |
| | | Object.assign(users,data) |
| | | } |
| | | else { |
| | | error.value = `ERROR: ${res.status}` |
| | | } |
| | | Object.assign(users, data) |
| | | offset.value = noffset |
| | | } |
| | | |
| | | function go (offset) { |
| | | console.log("go", offset) |
| | | console.log("go to offset", offset) |
| | | return init(offset) |
| | | } |
| | | |
| | | |
| | | </script> |
| | | |
| | |
| | | <div> |
| | | |
| | | <h1> |
| | | Users |
| | | <small> |
| | | {{users.offset}} - {{users.offset+users.data.length}} von {{users.total}} |
| | | </small> |
| | | ILIAS Users |
| | | <!-- <small>{{users.offset}} - {{users.offset+users.data.length}} von {{users.total}}</small>--> |
| | | </h1> |
| | | <p>{{ userId }}</p> |
| | | <p v-if="error">{{ error }}</p> |
| | |
| | | <th>firstname</th> |
| | | <th>lastname</th> |
| | | <th>gender</th> |
| | | <!-- <th>email</th>--> |
| | | <!-- <th>email</th>--> |
| | | <th>institution</th> |
| | | <th>department</th> |
| | | </tr> |
| | |
| | | <tbody> |
| | | <tr v-for="user in users.data"> |
| | | <td> |
| | | <RouterLink :to="`/ui/user/${user.usr_id}`"> |
| | | {{user.usr_id}} |
| | | <RouterLink :to="`${routerBase}/ui/user/${user.usr_id}`"> |
| | | {{ user.usr_id }} |
| | | </RouterLink> |
| | | </td> |
| | | <td>{{user.login}}</td> |
| | | <td>{{user.firstname}}</td> |
| | | <td>{{user.lastname}}</td> |
| | | <td>{{user.gender}}</td> |
| | | <!-- <td>{{ user.email}}</td>--> |
| | | <td>{{user.institution}}</td> |
| | | <td>{{user.department}}</td> |
| | | <td>{{ user.login }}</td> |
| | | <td>{{ user.firstname }}</td> |
| | | <td>{{ user.lastname }}</td> |
| | | <td>{{ user.gender }}</td> |
| | | <!-- <td>{{ user.email}}</td>--> |
| | | <td>{{ user.institution }}</td> |
| | | <td>{{ user.department }}</td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | |
| | | <pre>{{ users }}</pre> |
| | | <!-- <pre>{{ users }}</pre>--> |
| | | </div> |
| | | |
| | | </template> |