Recv/public/src/route/admin/Codes.vue

58 lines
1.6 KiB
Vue

<template>
<div id="codes">
<router-link to="codes/add" class="pure-button pure-button-primary">{{ $t('admin.codes.add') }}</router-link>
<div v-if="codes !== null">
<div class="pure-g list-header">
<div class="pure-u-3-4"><span class="text">{{ $t('admin.codes.list.code') }}</span></div>
<div class="pure-u-1-4"><span class="text">{{ $t('admin.codes.list.owner') }}</span></div>
</div>
<div v-for="code in codes" class="list">
<div class="pure-g row">
<div class="pure-u-3-4"><span class="text"><router-link :to="'codes/edit/' + encodeURIComponent(code.id)">{{ code.id }}</router-link></span></div>
<div class="pure-u-1-4"><span class="text">{{ code.username }}</span></div>
<div class="pure-u-1-1" v-if="code.description"><span class="text description">{{ code.description }}</span></div>
</div>
</div>
<div v-if="codes.length == 0" class="nodata">
{{ $t('admin.empty') }}
</div>
</div>
<div v-else class="loading">
{{ $t('admin.loading') }}
</div>
</div>
</template>
<script>
import axios from 'axios';
import shared from '../../shared';
export default {
data()
{
return {
codes: null
};
},
created()
{
var self = this;
axios.get('/admin/codes', {
headers: {
Authorization: 'Bearer ' + shared.adminToken
}
})
.then((response) =>
{
self.codes = _.orderBy(response.data, ['created'], ['desc']);
})
.catch((error) => { shared.$emit('apiError', error, this.$router) });
}
}
</script>