|
|
@@ -1,7 +1,7 @@
|
|
|
<!-- Page de détails de l'organization courante -->
|
|
|
|
|
|
<template>
|
|
|
- <LayoutContainer>
|
|
|
+ <LayoutContainer v-if="!fetchState.pending">
|
|
|
<!-- Définit le contenu des trois slots du header de la page -->
|
|
|
<LayoutBannerTop>
|
|
|
<template #block1>
|
|
|
@@ -21,9 +21,8 @@
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
|
-import { computed, defineComponent, useContext, ComputedRef } from '@nuxtjs/composition-api'
|
|
|
+import {computed, defineComponent, useContext, ComputedRef} from '@nuxtjs/composition-api'
|
|
|
import { Item, Query } from '@vuex-orm/core'
|
|
|
-import { QUERY_TYPE } from '~/types/enums'
|
|
|
import { Organization } from '~/models/Organization/Organization'
|
|
|
import { queryHelper } from '~/services/store/query'
|
|
|
import { repositoryHelper } from '~/services/store/repository'
|
|
|
@@ -37,6 +36,7 @@ import {NetworkOrganization} from "~/models/Network/NetworkOrganization";
|
|
|
import {AddressPostal} from "~/models/Core/AddressPostal";
|
|
|
import {OrganizationArticle} from "~/models/Organization/OrganizationArticle";
|
|
|
import {File} from "~/models/Core/File"
|
|
|
+import {useDataUtils} from "~/composables/data/useDataUtils";
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'Organization',
|
|
|
@@ -45,25 +45,23 @@ export default defineComponent({
|
|
|
return redirect('/error')
|
|
|
},
|
|
|
setup () {
|
|
|
- const { store } = useContext()
|
|
|
+ const {store, $dataProvider} = useContext()
|
|
|
+ const {getItemToEdit} = useDataUtils($dataProvider)
|
|
|
+ const id = store.state.profile.organization.id
|
|
|
+
|
|
|
+ const {fetchState} = getItemToEdit(id, Organization)
|
|
|
|
|
|
const repository = repositoryHelper.getRepository(Organization)
|
|
|
const query: ComputedRef<Query> = computed(() => repository.query())
|
|
|
const entry: ComputedRef<Item> = computed(() => {
|
|
|
- return queryHelper.getItem(query.value, store.state.profile.organization.id)
|
|
|
+ return queryHelper.getItem(query.value, id)
|
|
|
})
|
|
|
|
|
|
return {
|
|
|
- entry
|
|
|
+ entry,
|
|
|
+ fetchState
|
|
|
}
|
|
|
},
|
|
|
- async asyncData ({ store, $dataProvider }) {
|
|
|
- await $dataProvider.invoke({
|
|
|
- type: QUERY_TYPE.MODEL,
|
|
|
- model: Organization,
|
|
|
- id: store.state.profile.organization.id
|
|
|
- })
|
|
|
- },
|
|
|
beforeDestroy() {
|
|
|
repositoryHelper.cleanRepository(Organization)
|
|
|
repositoryHelper.cleanRepository(ContactPoint)
|
|
|
@@ -75,8 +73,7 @@ export default defineComponent({
|
|
|
repositoryHelper.cleanRepository(Network)
|
|
|
repositoryHelper.cleanRepository(NetworkOrganization)
|
|
|
repositoryHelper.cleanRepository(OrganizationArticle)
|
|
|
- repositoryHelper.cleanRepository(File)
|
|
|
- },
|
|
|
+ repositoryHelper.cleanRepository(File) }
|
|
|
})
|
|
|
|
|
|
</script>
|