summaryrefslogtreecommitdiff
path: root/src/views/_sila/Settings/Network/TableDns.vue
diff options
context:
space:
mode:
Diffstat (limited to 'src/views/_sila/Settings/Network/TableDns.vue')
-rw-r--r--src/views/_sila/Settings/Network/TableDns.vue145
1 files changed, 0 insertions, 145 deletions
diff --git a/src/views/_sila/Settings/Network/TableDns.vue b/src/views/_sila/Settings/Network/TableDns.vue
deleted file mode 100644
index 569109f1..00000000
--- a/src/views/_sila/Settings/Network/TableDns.vue
+++ /dev/null
@@ -1,145 +0,0 @@
-<template>
- <page-section :section-title="$t('pageNetwork.staticDns')">
- <b-row>
- <b-col lg="6">
- <div class="text-right">
- <b-button variant="primary" @click="initDnsModal()">
- <icon-add />
- {{ $t('pageNetwork.table.addDnsAddress') }}
- </b-button>
- </div>
- <b-table
- responsive="md"
- hover
- :fields="dnsTableFields"
- :items="form.dnsStaticTableItems"
- :empty-text="$t('global.table.emptyMessage')"
- class="mb-0"
- show-empty
- >
- <template #cell(actions)="{ item, index }">
- <table-row-action
- v-for="(action, actionIndex) in item.actions"
- :key="actionIndex"
- :value="action.value"
- :title="action.title"
- :enabled="action.enabled"
- @click-table-action="onDnsTableAction(action, $event, index)"
- >
- <template #icon>
- <icon-edit v-if="action.value === 'edit'" />
- <icon-trashcan v-if="action.value === 'delete'" />
- </template>
- </table-row-action>
- </template>
- </b-table>
- </b-col>
- </b-row>
- </page-section>
-</template>
-
-<script>
-import BVToastMixin from '@/components/Mixins/BVToastMixin';
-import IconAdd from '@carbon/icons-vue/es/add--alt/20';
-import IconEdit from '@carbon/icons-vue/es/edit/20';
-import IconTrashcan from '@carbon/icons-vue/es/trash-can/20';
-import PageSection from '@/components/Global/PageSection';
-import TableRowAction from '@/components/Global/TableRowAction';
-import { mapState } from 'vuex';
-
-export default {
- name: 'DNSTable',
- components: {
- IconAdd,
- IconEdit,
- IconTrashcan,
- PageSection,
- TableRowAction,
- },
- mixins: [BVToastMixin],
- props: {
- tabIndex: {
- type: Number,
- default: 0,
- },
- },
- data() {
- return {
- form: {
- dnsStaticTableItems: [],
- },
- actions: [
- {
- value: 'edit',
- title: this.$t('global.action.edit'),
- },
- {
- value: 'delete',
- title: this.$t('global.action.delete'),
- },
- ],
- dnsTableFields: [
- {
- key: 'address',
- label: this.$t('pageNetwork.table.ipAddress'),
- },
- { key: 'actions', label: '', tdClass: 'text-right' },
- ],
- };
- },
- computed: {
- ...mapState('network', ['ethernetData']),
- },
- watch: {
- // Watch for change in tab index
- tabIndex() {
- this.getStaticDnsItems();
- },
- ethernetData() {
- this.getStaticDnsItems();
- },
- },
- created() {
- this.getStaticDnsItems();
- this.$store.dispatch('network/getEthernetData').finally(() => {
- // Emit initial data fetch complete to parent component
- this.$root.$emit('network-table-dns-complete');
- });
- },
- methods: {
- getStaticDnsItems() {
- const index = this.tabIndex;
- const dns = this.ethernetData[index].StaticNameServers || [];
- this.form.dnsStaticTableItems = dns.map((server) => {
- return {
- address: server,
- actions: [
- {
- value: 'delete',
- title: this.$t('pageNetwork.table.deleteDns'),
- },
- ],
- };
- });
- },
- onDnsTableAction(action, $event, index) {
- if ($event === 'delete') {
- this.deleteDnsTableRow(index);
- }
- },
- deleteDnsTableRow(index) {
- this.form.dnsStaticTableItems.splice(index, 1);
- const newDnsArray = this.form.dnsStaticTableItems.map((dns) => {
- return dns.address;
- });
- this.$store
- .dispatch('network/editDnsAddress', newDnsArray)
- .then((message) => this.successToast(message))
- .catch(({ message }) => this.errorToast(message));
- },
- initDnsModal() {
- this.$bvModal.show('modal-dns');
- },
- },
-};
-</script>