dashboard/shell/list/service.vue

54 lines
1.2 KiB
Vue

<script>
import ResourceTable from '@shell/components/ResourceTable';
import { NODE } from '@shell/config/types';
import ResourceFetch from '@shell/mixins/resource-fetch';
export default {
name: 'ListService',
components: { ResourceTable },
mixins: [ResourceFetch],
props: {
resource: {
type: String,
required: true,
},
schema: {
type: Object,
required: true,
},
useQueryParamsForSimpleFiltering: {
type: Boolean,
default: false
}
},
// fetch nodes before loading this page, as they may be referenced in the Target table column
async fetch() {
const store = this.$store;
const inStore = store.getters['currentStore']();
this.$initializeFetchData(this.resource);
if (store.getters[`${ inStore }/schemaFor`](NODE)) {
this.$fetchType(NODE);
}
await this.$fetchType(this.resource);
}
};
</script>
<template>
<ResourceTable
:schema="schema"
:rows="rows"
:headers="$attrs.headers"
:group-by="$attrs.groupBy"
:loading="loading"
:use-query-params-for-simple-filtering="useQueryParamsForSimpleFiltering"
:force-update-live-and-delayed="forceUpdateLiveAndDelayed"
/>
</template>