ソースを参照

fix typescript errors

Olivier Massot 2 年 前
コミット
c3d61908d5

+ 1 - 1
assets/css/global.scss

@@ -25,7 +25,7 @@ header .v-toolbar__content {
 }
 
 .e-grid .e-gridheader {
-  position: -webkit-sticky;
+  position: -webkit-sticky; // Safari
   position: sticky;
   top: 58px; /* The height of top nav menu. */
   z-index: 1;

+ 7 - 8
components/Layout/ParametersMenu.vue

@@ -8,11 +8,11 @@
 
     <v-list active-class="active">
       <v-list-item
-          v-for="(item, i) in menu.children"
+          v-for="(item, i) in menu!!.children"
           :key="i"
           :title="$t(item.label)"
-          :prepend-icon="item.icon.name"
-          :to="item.to">
+          :prepend-icon="item.icon ? item.icon.name : ''"
+          :to="(item as MenuItem).to">
       </v-list-item>
     </v-list>
 
@@ -32,17 +32,16 @@
 
 <script setup lang="ts">
   import {useMenu} from "~/composables/layout/useMenu";
-  import {useLayoutStore} from "~/stores/layout";
-  import UrlUtils from "~/services/utils/urlUtils";
   import {useHomeUrl} from "~/composables/utils/useHomeUrl";
   import {useDisplay} from "vuetify";
   import {computed} from "@vue/reactivity";
+  import {MenuGroup, MenuItem} from "~/types/layout";
 
-  const { mdAndUp, lgAndUp } = useDisplay()
+  const { mdAndUp } = useDisplay()
 
   const { getMenu, hasMenu, isMenuOpened, setMenuState } = useMenu()
 
-  const menu = getMenu('Parameters')
+  const menu: MenuGroup | null = getMenu('Parameters')
 
   const displayMenu = computed(() => {
     return menu !== null && hasMenu('Parameters')
@@ -50,7 +49,7 @@
 
   const isOpened = computed(() => isMenuOpened('Parameters'))
 
-  const unwatch = watch(mdAndUp, (newValue, oldValue) => {
+  const unwatch = watch(mdAndUp, () => {
     // Par défaut si l'écran est trop petit au chargement de la page, le menu doit rester fermé.
     if (process.client && menu !== null) {
       setMenuState('Parameters', mdAndUp.value)

+ 0 - 1
components/Ui/Input/AutocompleteWithAPI.vue

@@ -30,7 +30,6 @@ d'une api)
 
 import {Ref, ref, toRefs} from "@vue/reactivity";
 import UrlUtils from "~/services/utils/urlUtils";
-import {FetchOptions} from "ohmyfetch";
 import {useFetch} from "#app";
 import {watch} from "@vue/runtime-core";
 

+ 2 - 1
components/Ui/Input/AutocompleteWithEnum.vue

@@ -20,10 +20,11 @@ import {useEnumFetch} from "~/composables/data/useEnumFetch";
 import ArrayUtils from "~/services/utils/arrayUtils";
 import {ComputedRef} from "@vue/reactivity";
 import {Enum} from "~/types/data";
+import {PropType} from "@vue/runtime-core";
 
 const props = defineProps({
   modelValue: {
-    type: String,
+    type: String as PropType<string | null>,
     required: false,
     default: null
   },

+ 1 - 1
components/Ui/Input/DatePicker.vue

@@ -32,7 +32,7 @@ const props = defineProps({
    * v-model
    */
   modelValue: {
-    type: String,
+    type: String as PropType<string | null>,
     required: false,
     default: null
   },

+ 2 - 1
components/Ui/Input/Text.vue

@@ -30,13 +30,14 @@ import {useFieldViolation} from "~/composables/form/useFieldViolation";
 import {useNuxtApp} from "#app";
 import {useI18n} from "vue-i18n";
 import {mask} from "vue-the-mask";
+import {PropType} from "@vue/runtime-core";
 
 const props = defineProps({
   /**
    * v-model
    */
   modelValue: {
-    type: [String, Number],
+    type: [String, Number] as PropType<string | number | null>,
     required: false,
     default: null
   },

+ 5 - 1
pages/parameters/residence_areas.vue

@@ -10,7 +10,11 @@
           </tr>
         </thead>
         <tbody>
-        <tr v-if="residenceAreas.length > 0" v-for="residenceArea in residenceAreas" :key="residenceArea.id">
+        <tr
+            v-if="residenceAreas.length > 0"
+            v-for="residenceArea in residenceAreas"
+            :key="residenceArea.id ?? undefined"
+        >
           <td class="cycle-editable-cell">
             {{ residenceArea.label }}
           </td>