Changeset View
Changeset View
Standalone View
Standalone View
src/resources/vue/Domain/List.vue
<template> | <template> | ||||
<div class="container"> | <div class="container"> | ||||
<div class="card" id="domain-list"> | <div class="card" id="domain-list"> | ||||
<div class="card-body"> | <div class="card-body"> | ||||
<div class="card-title"> | <div class="card-title"> | ||||
{{ $t('user.domains') }} | {{ $t('user.domains') }} | ||||
<btn-router v-if="!$root.isDegraded()" class="btn-success float-end" to="domain/new" icon="globe"> | <btn-router v-if="!$root.isDegraded()" class="btn-success float-end" to="domain/new" icon="globe"> | ||||
{{ $t('domain.create') }} | {{ $t('domain.create') }} | ||||
</btn-router> | </btn-router> | ||||
</div> | </div> | ||||
<div class="card-text"> | <div class="card-text"> | ||||
<table class="table table-sm table-hover"> | <list-widget :list="domains"></list-widget> | ||||
<thead> | |||||
<tr> | |||||
<th scope="col">{{ $t('domain.namespace') }}</th> | |||||
</tr> | |||||
</thead> | |||||
<tbody> | |||||
<tr v-for="domain in domains" :key="domain.id" @click="$root.clickRecord"> | |||||
<td> | |||||
<svg-icon icon="globe" :class="$root.statusClass(domain)" :title="$root.statusText(domain)"></svg-icon> | |||||
<router-link :to="{ path: 'domain/' + domain.id }">{{ domain.namespace }}</router-link> | |||||
</td> | |||||
</tr> | |||||
</tbody> | |||||
<tfoot class="table-fake-body"> | |||||
<tr> | |||||
<td>{{ $t('user.domains-none') }}</td> | |||||
</tr> | |||||
</tfoot> | |||||
</table> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import ListWidget from './ListWidget' | |||||
import { library } from '@fortawesome/fontawesome-svg-core' | import { library } from '@fortawesome/fontawesome-svg-core' | ||||
library.add( | library.add( | ||||
require('@fortawesome/free-solid-svg-icons/faGlobe').definition, | require('@fortawesome/free-solid-svg-icons/faGlobe').definition, | ||||
) | ) | ||||
export default { | export default { | ||||
components: { | |||||
ListWidget | |||||
}, | |||||
data() { | data() { | ||||
return { | return { | ||||
domains: [] | domains: [] | ||||
} | } | ||||
}, | }, | ||||
created() { | created() { | ||||
axios.get('/api/v4/domains', { loader: true }) | axios.get('/api/v4/domains', { loader: true }) | ||||
.then(response => { | .then(response => { | ||||
this.domains = response.data.list | this.domains = response.data.list | ||||
}) | }) | ||||
.catch(this.$root.errorHandler) | .catch(this.$root.errorHandler) | ||||
} | } | ||||
} | } | ||||
</script> | </script> |