Rework dashboard domain component to not depend on external domains list prop
This commit is contained in:
@@ -8,12 +8,13 @@ import Section from '../components/Section.vue';
|
||||
import SettingsItem from '../components/SettingsItem.vue';
|
||||
import TasksModel from '../models/TasksModel.js';
|
||||
import DashboardModel from '../models/DashboardModel.js';
|
||||
import DomainsModel from '../models/DomainsModel.js';
|
||||
|
||||
const taskModel = TasksModel.create();
|
||||
const dashboardModel = DashboardModel.create();
|
||||
const domainsModel = DomainsModel.create();
|
||||
|
||||
const props = defineProps([ 'domains' ]);
|
||||
|
||||
const domains = ref([]);
|
||||
const formError = ref('');
|
||||
const originalDomain = ref('');
|
||||
const newDomain = ref('');
|
||||
@@ -81,16 +82,32 @@ async function onSubmit() {
|
||||
await refreshTasks();
|
||||
}
|
||||
|
||||
onMounted(async () => {
|
||||
async function selectCurrentDomain(newDomains) {
|
||||
domains.value = newDomains;
|
||||
|
||||
const [error, result] = await dashboardModel.config();
|
||||
if (error) return console.error(error);
|
||||
|
||||
newDomain.value = (props.domains.find(d => d.domain === result.adminDomain) || props.domains[0]).domain;
|
||||
originalDomain.value = (props.domains.find(d => d.domain === result.adminDomain) || props.domains[0]).domain;
|
||||
if (domains.value.length) {
|
||||
const adminDomain = domains.value.find(d => d.domain === result.adminDomain);
|
||||
if (adminDomain) {
|
||||
newDomain.value = adminDomain.domain;
|
||||
originalDomain.value = adminDomain.domain;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(async () => {
|
||||
const [error, result] = await domainsModel.list();
|
||||
if (error) return console.error(error);
|
||||
|
||||
await selectCurrentDomain(result);
|
||||
|
||||
await refreshTasks();
|
||||
});
|
||||
|
||||
defineExpose({ updateDomains: selectCurrentDomain });
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
Reference in New Issue
Block a user