Explorar o código

useCountryProvider

Vincent GUFFON %!s(int64=3) %!d(string=hai) anos
pai
achega
d7dd234316

+ 2 - 4
components/Form/Organization/Address.vue

@@ -112,12 +112,12 @@ import {QUERY_TYPE, SUBMIT_TYPE} from '~/types/enums'
 import { repositoryHelper } from '~/services/store/repository'
 import { queryHelper } from '~/services/store/query'
 import { AddressPostal } from '~/models/Core/AddressPostal'
-import {UseCountry} from "~/composables/data/useCountry";
 import ModelsUtils from "~/services/utils/modelsUtils";
 import {AnyJson} from "~/types/interfaces";
 import DataProvider from "~/services/data/dataProvider";
 import {useAccessesProvider} from "~/composables/data/useAccessesProvider";
 import {useAddressPostalUtils} from "~/composables/data/useAddressPostalUtils";
+import {useCountryProvider} from "~/composables/data/useCountryProvider";
 
 export default defineComponent({
   props: {
@@ -130,6 +130,7 @@ export default defineComponent({
     const { $dataProvider } = useContext()
     const {getPhysicalByFullName: accessSearch} = useAccessesProvider($dataProvider)
     const {searchFunction: addressSearch, updateCpAddress} = useAddressPostalUtils($dataProvider)
+    const {countries, fetchState: countriesFetchingState} = useCountryProvider($dataProvider)
 
     const repository: VuexRepository<Model> = repositoryHelper.getRepository(OrganizationAddressPostal)
     const query: Query = repository.with('addressPostal')
@@ -151,9 +152,6 @@ export default defineComponent({
         return {id:0, city: addressPostalItem.value?.addressCity, postcode: addressPostalItem.value?.postalCode}
       return {}
     })
-
-    const {countries, fetchState: countriesFetchingState} = new UseCountry().getAll()
-
     const {updateAccessAddress} = accessOwnerResearch($dataProvider, organizationAddressPostalItem, addressPostalItem)
 
     const getIdFromUri = (uri: string) => {

+ 0 - 42
composables/data/useCountry.ts

@@ -1,42 +0,0 @@
-import { AnyJson } from '~/types/interfaces'
-import {QUERY_TYPE} from "~/types/enums";
-import {Country} from "~/models/Core/Country";
-import { useContext, useFetch, computed } from '@nuxtjs/composition-api'
-import DataProvider from "~/services/data/dataProvider";
-import {repositoryHelper} from "~/services/store/repository";
-
-/**
- * @category composables/data
- * @class UseCountry
- * Use Classe qui va récupérer les Countries
- */
-export class UseCountry {
-  private $dataProvider!: DataProvider
-
-  constructor() {
-    const {$dataProvider} = useContext()
-    this.$dataProvider = $dataProvider
-  }
-
-  /**
-   * Récupération des Country via l'API
-   */
-  public getAll(): AnyJson{
-    const {fetch, fetchState} = useFetch(async () => {
-      await this.$dataProvider.invoke({
-        type: QUERY_TYPE.MODEL,
-        model: Country
-      })
-    })
-
-    const countries =  computed(() => {
-      return repositoryHelper.findCollectionFromModel(Country)
-    })
-
-    return {
-      countries,
-      fetch,
-      fetchState
-    }
-  }
-}

+ 29 - 0
composables/data/useCountryProvider.ts

@@ -0,0 +1,29 @@
+import {QUERY_TYPE} from "~/types/enums";
+import {Country} from "~/models/Core/Country";
+import { useFetch, computed } from '@nuxtjs/composition-api'
+import DataProvider from "~/services/data/dataProvider";
+import {repositoryHelper} from "~/services/store/repository";
+
+/**
+ * @category composables/data
+ * @param $dataProvider
+ * Composable Classe qui va récupérer les Countries
+ */
+export function useCountryProvider($dataprovider: DataProvider){
+  const {fetch, fetchState} = useFetch(async () => {
+    await $dataprovider.invoke({
+      type: QUERY_TYPE.MODEL,
+      model: Country
+    })
+  })
+
+  const countries =  computed(() => {
+    return repositoryHelper.findCollectionFromModel(Country)
+  })
+
+  return {
+    countries,
+    fetch,
+    fetchState
+  }
+}