|
|
@@ -36,7 +36,7 @@
|
|
|
<div class="mt-6 d-flex flex-row">
|
|
|
<v-btn to="/parameters/communication" class="mr-12">{{ $t('back') }}</v-btn>
|
|
|
<div v-if="!entry.active">
|
|
|
- <v-btn color="primary" @click="activateAndQuit">{{ $t('activate') }}</v-btn>
|
|
|
+ <v-btn color="primary" @click="activateAndQuit(entry)">{{ $t('activate') }}</v-btn>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
@@ -50,7 +50,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
|
-import {computed, ComputedRef, defineComponent, useContext} from '@nuxtjs/composition-api'
|
|
|
+import {computed, ComputedRef, defineComponent, useContext, useRouter} from '@nuxtjs/composition-api'
|
|
|
import {useDataUtils} from "~/composables/data/useDataUtils";
|
|
|
import {Subdomain} from "~/models/Organization/Subdomain";
|
|
|
import {Repository as VuexRepository} from "@vuex-orm/core/dist/src/repository/Repository";
|
|
|
@@ -58,32 +58,48 @@ import {Model, Query} from "@vuex-orm/core";
|
|
|
import {repositoryHelper} from "~/services/store/repository";
|
|
|
import {AnyJson} from "~/types/interfaces";
|
|
|
import {queryHelper} from "~/services/store/query";
|
|
|
+import {QUERY_TYPE} from "~/types/enums";
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'EditFormParametersSubdomain',
|
|
|
setup () {
|
|
|
- const {$dataProvider, route, app: { $router }} = useContext()
|
|
|
+ const {$dataProvider, $dataPersister, route} = useContext()
|
|
|
const {getItemToEdit} = useDataUtils($dataProvider)
|
|
|
const id = parseInt(route.value.params.id)
|
|
|
const {fetchState} = getItemToEdit(id, Subdomain)
|
|
|
+ const router = useRouter();
|
|
|
|
|
|
const repository: VuexRepository<Model> = repositoryHelper.getRepository(Subdomain)
|
|
|
- const query: Query = repository.query()
|
|
|
+ const query: ComputedRef<Query> = computed(() => repository.query())
|
|
|
const entry: ComputedRef<AnyJson> = computed(() => {
|
|
|
- return queryHelper.getFlattenEntry(query, id)
|
|
|
+ return queryHelper.getFlattenEntry(query.value, id)
|
|
|
})
|
|
|
|
|
|
- const activateAndQuit = function() {
|
|
|
- repositoryHelper.updateStoreFromField(Subdomain, entry.value, '1', 'active')
|
|
|
- $router.push('/parameters/communication')
|
|
|
+ const submit = async (next: string|null = null) => {
|
|
|
+ await $dataPersister.invoke({
|
|
|
+ type: QUERY_TYPE.MODEL,
|
|
|
+ model: Subdomain,
|
|
|
+ id: id,
|
|
|
+ idTemp: null,
|
|
|
+ query: query.value
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ const activateAndQuit = async function() {
|
|
|
+ repositoryHelper.updateStoreFromField(Subdomain, entry.value, true, 'active')
|
|
|
+ await submit()
|
|
|
+ router.push('/parameters/communication')
|
|
|
}
|
|
|
|
|
|
return {
|
|
|
id,
|
|
|
fetchState,
|
|
|
entry,
|
|
|
- activateAndQuit: () => activateAndQuit()
|
|
|
+ activateAndQuit
|
|
|
}
|
|
|
+ },
|
|
|
+ beforeDestroy() {
|
|
|
+ repositoryHelper.cleanRepository(Subdomain)
|
|
|
}
|
|
|
})
|
|
|
</script>
|