|
|
- <app-users>
- <div class="buckets">
- <table class="table">
- <div class="table__row" each={ user in state.users }>
- <div class="table__column">
- { user.username }
- </div>
- <div class="table__column">
- { user.email }
- </div>
- <div class="table__column">
-
- </div>
- </div>
- </table>
- <div class="grid" if={ state.maxLength > state.users.length }>
- <div class="col-12">
- <div class="buckets__more">
- <button type="button" class="button" onclick={ handleClick }>
- More
- <svg class="icon" aria-hidden="true">
- <use xlink:href="/symbol-defs.svg#icon-arrow-down"></use>
- </svg>
- </button>
- </div>
- </div>
- </div>
- </div>
- <script>
-
- import axios from 'axios'
- import remove from 'lodash.remove'
-
- /**
- *
- *
- *
- * @author Björn Hase
- *
- */
-
- export default {
-
- state: {
- users: [],
- maxLength: 0
- },
-
- onBeforeMount() {
- this.fetch()
- },
-
- handleClick() {
-
- },
-
- handleDelete(event, bucket) {
- event.preventDefault()
-
- axios.delete('/api/bucket/' + bucket._id)
- .then((response) => {
-
- // removing from buckets
- remove(this.state.buckets, function(b) {
- return b._id === bucket._id
- })
-
- this.update()
- })
- },
-
- /**
- * getting all buckets
- *
- *
- */
- fetch() {
- axios.get('/api/users').then((response) => {
- this.state.users = response.data.data
- this.update()
- })
- }
- }
-
- </script>
- </app-users>
|