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 { computed, ref, watch } from 'vue'
 import type { ComputedRef, Ref, PropType } from 'vue'
 import type { ComputedRef, Ref, PropType } from 'vue'
 import type {
 import type {
-  Route,
   RouteLocationNormalized,
   RouteLocationNormalized,
   RouteLocationRaw,
   RouteLocationRaw,
-} from '@intlify/vue-router-bridge'
+} from 'vue-router'
 import * as _ from 'lodash-es'
 import * as _ from 'lodash-es'
 import { FORM_FUNCTION, SUBMIT_TYPE, TYPE_ALERT } from '~/types/enum/enums'
 import { FORM_FUNCTION, SUBMIT_TYPE, TYPE_ALERT } from '~/types/enum/enums'
 import { useFormStore } from '~/stores/form'
 import { useFormStore } from '~/stores/form'

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

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

+ 1 - 1
composables/data/useEntityFetch.ts

@@ -45,7 +45,7 @@ export const useEntityFetch = (
     useAsyncData(
     useAsyncData(
       model.entity + '_many_' + uuid4(),
       model.entity + '_many_' + uuid4(),
       () => em.fetchCollection(model, parent, query),
       () => em.fetchCollection(model, parent, query),
-      { lazy },
+      { lazy, deep: false },
     )
     )
 
 
   const getRef = <T extends ApiResource>(
   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
 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
 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.
 4. Si je créé le pays "mon super pays", il ne doit pas apparaitre.
-
 -->
 -->
 
 
 <template>
 <template>
@@ -53,13 +52,13 @@ import Query from '~/services/data/Query'
 import SearchFilter from '~/services/data/Filters/SearchFilter'
 import SearchFilter from '~/services/data/Filters/SearchFilter'
 import {ORDER_BY_DIRECTION, SEARCH_STRATEGY} from '~/types/enum/data'
 import {ORDER_BY_DIRECTION, SEARCH_STRATEGY} from '~/types/enum/data'
 import Country from '~/models/Core/Country'
 import Country from '~/models/Core/Country'
-import OrderBy from "~/services/data/Filters/OrderBy";
+import OrderBy from "~/services/data/Filters/OrderBy"
 
 
 const { fetchCollection } = useEntityFetch()
 const { fetchCollection } = useEntityFetch()
 
 
 const query = new Query()
 const query = new Query()
 
 
-const searchFilter = ref('')
+const searchFilter = ref('fran')
 
 
 const newVal = ref('')
 const newVal = ref('')