Browse Source

various fixes

Olivier Massot 1 year ago
parent
commit
622680d585

+ 1 - 2
components/Ui/Form.vue

@@ -93,10 +93,9 @@ de quitter si des données ont été modifiées.
 import { computed, ref, watch } from 'vue'
 import type { ComputedRef, Ref, PropType } from 'vue'
 import type {
-  Route,
   RouteLocationNormalized,
   RouteLocationRaw,
-} from '@intlify/vue-router-bridge'
+} from 'vue-router'
 import * as _ from 'lodash-es'
 import { FORM_FUNCTION, SUBMIT_TYPE, TYPE_ALERT } from '~/types/enum/enums'
 import { useFormStore } from '~/stores/form'

+ 5 - 4
components/Ui/Form/Edition.vue

@@ -20,12 +20,13 @@
 
 <script setup lang="ts">
 import type { PropType } from '@vue/runtime-core'
-import type { RouteLocationRaw } from '@intlify/vue-router-bridge'
 import ApiModel from '~/models/ApiModel'
 import type { AnyJson } from '~/types/data'
 import { SUBMIT_TYPE } from '~/types/enum/enums'
 import { useRoute } from 'vue-router'
+import type { RouteLocationRaw} from 'vue-router'
 import { useEntityFetch } from '~/composables/data/useEntityFetch'
+import type {AsyncData} from "#app";
 
 const props = defineProps({
   /**
@@ -40,7 +41,7 @@ const props = defineProps({
    * Si non renseigné, le component essaiera de l'extraire de la route actuelle
    */
   id: {
-    type: Number,
+    type: Number as PropType<number | null>,
     required: false,
     default: null,
   },
@@ -48,7 +49,7 @@ const props = defineProps({
    * Route de retour
    */
   goBackRoute: {
-    type: Object as PropType<RouteLocationRaw>,
+    type: Object as PropType<RouteLocationRaw | null>,
     required: false,
     default: null,
   },
@@ -77,7 +78,7 @@ const router = useRouter()
 const entityId =
   props.id !== null ? props.id : parseInt(route.params.id as string)
 
-const { data: entity, pending } = fetch(props.model, entityId)
+const { data: entity, pending } = fetch(props.model, entityId) as AsyncData<ApiModel, Error | null>
 
 const submitActions = computed(() => {
   let actions: AnyJson = {}

+ 1 - 1
composables/data/useEntityFetch.ts

@@ -45,7 +45,7 @@ export const useEntityFetch = (
     useAsyncData(
       model.entity + '_many_' + uuid4(),
       () => em.fetchCollection(model, parent, query),
-      { lazy },
+      { lazy, deep: false },
     )
 
   const getRef = <T extends ApiResource>(

+ 2 - 3
pages/tests/poc_fetch_collection.vue

@@ -11,7 +11,6 @@ Exemple :
 2. Si je tape "fra" dans le filtre et que je valide, il ne doit rester que la France
 3. Si je créé le pays "francie", il doit s'ajouter à la liste, trié si un OrderBy est actif
 4. Si je créé le pays "mon super pays", il ne doit pas apparaitre.
-
 -->
 
 <template>
@@ -53,13 +52,13 @@ import Query from '~/services/data/Query'
 import SearchFilter from '~/services/data/Filters/SearchFilter'
 import {ORDER_BY_DIRECTION, SEARCH_STRATEGY} from '~/types/enum/data'
 import Country from '~/models/Core/Country'
-import OrderBy from "~/services/data/Filters/OrderBy";
+import OrderBy from "~/services/data/Filters/OrderBy"
 
 const { fetchCollection } = useEntityFetch()
 
 const query = new Query()
 
-const searchFilter = ref('')
+const searchFilter = ref('fran')
 
 const newVal = ref('')