Vincent GUFFON 4 роки тому
батько
коміт
0293e0550d

+ 2 - 2
components/Layout/ActivityYear.vue

@@ -28,8 +28,8 @@
 
       const organizationProfile = $organizationProfile(store);
 
-      let yearPlusOne = !organizationProfile.isManagerProduct()
-      const label = organizationProfile.isSchool() ? 'schooling_year' : organizationProfile.isArtist() ? 'season_year' : 'cotisation_year'
+      let yearPlusOne:boolean = !organizationProfile.isManagerProduct()
+      const label:string = organizationProfile.isSchool() ? 'schooling_year' : organizationProfile.isArtist() ? 'season_year' : 'cotisation_year'
 
       const updateActivityYear = async (newDate:number) =>{
         markFormAsNotDirty()

+ 3 - 2
components/Layout/Alert/Container.vue

@@ -10,14 +10,15 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, computed} from "@vue/composition-api";
+  import {defineComponent, computed, ComputedRef} from "@vue/composition-api";
   import {useContext} from "@nuxtjs/composition-api";
+  import {alert} from "~/types/interfaces"
 
   export default defineComponent({
     setup() {
       const {store} = useContext()
 
-      const alerts = computed(() => {
+      const alerts:ComputedRef<Array<alert>> = computed(() => {
         return store.state.page.alerts
       })
       return {

+ 3 - 3
components/Layout/Alert/Content.vue

@@ -15,7 +15,7 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, ref} from "@vue/composition-api";
+  import {defineComponent, ref, Ref} from "@vue/composition-api";
   import {alert} from "~/types/interfaces";
   import {useContext} from "@nuxtjs/composition-api";
 
@@ -27,11 +27,11 @@
       }
     },
     setup() {
-      const show = ref(true)
       const {store} = useContext()
+      const show:Ref<boolean> = ref(true)
       let timeout: any = null;
 
-      const clearAlert = (time = 2000) => {
+      const clearAlert = (time:number = 2000) => {
         timeout = setTimeout(() => {
           show.value = false;
           store.dispatch('page/removeSlowlyAlert')

+ 6 - 6
components/Layout/Breadcrumbs.vue

@@ -5,25 +5,25 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, computed, useContext, useRouter} from '@nuxtjs/composition-api'
+  import {defineComponent, computed, useContext, useRouter, ComputedRef} from '@nuxtjs/composition-api'
   import {AnyJson} from "~/types/interfaces";
 
   export default defineComponent({
     setup() {
       const {route, $config, app: {i18n}} = useContext()
       const $router = useRouter()
-      const homeUrl = $config.baseURL_adminLegacy
+      const homeUrl:string = $config.baseURL_adminLegacy
 
-      const items = computed(()=>{
+      const items:ComputedRef<Array<AnyJson>> = computed(()=>{
         const crumbs:Array<AnyJson> = []
         crumbs.push({
           text: i18n.t('welcome'),
           href: homeUrl
         })
 
-        const fullPath = route.value.path
-        const params = fullPath.startsWith('/') ? fullPath.substring(1).split('/') : fullPath.split('/')
-        let path = ''
+        const fullPath:string = route.value.path
+        const params:Array<string> = fullPath.startsWith('/') ? fullPath.substring(1).split('/') : fullPath.split('/')
+        let path:string = ''
         params.forEach((param) => {
           path = `${path}/${param}`
           const match = $router.match(path)

+ 5 - 4
components/Layout/DataTiming.vue

@@ -28,9 +28,10 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, onUnmounted, ref, useContext, watch} from '@nuxtjs/composition-api'
+  import {defineComponent, onUnmounted, ref, useContext, watch, Ref} from '@nuxtjs/composition-api'
   import {$useDirtyForm} from "~/use/form/useDirtyForm";
   import {$useMyProfileUpdater} from "~/use/updater/useMyProfileUpdater";
+  import {WatchStopHandle} from "@vue/composition-api";
 
   export default defineComponent({
     setup() {
@@ -38,15 +39,15 @@
       const {markFormAsNotDirty} = $useDirtyForm(store)
       const {updateMyProfile, setHistorical, historical} = $useMyProfileUpdater(store, $dataPersister)
 
-      const timeChoice = ref(Array<number>())
+      const timeChoice:Ref<Array<number>> = ref(Array<number>())
 
-      const historicalArray = ['past', 'present', 'future']
+      const historicalArray:Array<string> = ['past', 'present', 'future']
       for(const key in historicalArray){
         if (historical.value[historicalArray[key]])
           timeChoice.value.push(parseInt(key))
       }
 
-      const unwatch = watch(timeChoice, async (newValue) => {
+      const unwatch:WatchStopHandle = watch(timeChoice, async (newValue) => {
         const historicalChoice:Array<string> = []
         for(const key in newValue){
           historicalChoice.push(historicalArray[newValue[key]])

+ 15 - 13
components/Layout/Header.vue

@@ -60,29 +60,31 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, reactive, useContext, computed} from '@nuxtjs/composition-api'
+  import {defineComponent, reactive, useContext, computed, ComputedRef, Ref} from '@nuxtjs/composition-api'
   import {$useMenu} from "~/use/layout/menu";
+  import {UnwrapRef} from "@vue/composition-api";
+  import {AnyJson} from "~/types/interfaces";
 
   export default defineComponent({
     setup(props, {emit}) {
       const {store, $config} = useContext();
 
-      const properties = reactive({
+      const properties:UnwrapRef<AnyJson> = reactive({
         miniVariant: false,
         homeUrl : $config.baseURL_adminLegacy
       })
 
-      const displayedMiniVariant = computed(()=>store.state.profile.access.hasLateralMenu)
-      const hasConfigurationMenu = computed(()=>store.state.profile.access.hasConfigurationMenu)
-      const hasAccessesMenu = computed(()=>store.state.profile.access.hasAccessesMenu)
-      const hasFamilyMenu = computed(()=>store.state.profile.access.hasFamilyMenu)
-      const title = computed(()=>store.state.profile.organization.name)
-
-      const webSiteMenu = $useMenu.setUpContext().useWebSiteMenuConstruct()
-      const myAccessesMenu = $useMenu.setUpContext().useMyAccessesMenuConstruct()
-      const myFamilyMenu = $useMenu.setUpContext().useMyFamilyMenuConstruct()
-      const configurationMenu = $useMenu.setUpContext().useConfigurationMenuConstruct()
-      const accountMenu = $useMenu.setUpContext().useAccountMenuConstruct()
+      const displayedMiniVariant:ComputedRef<boolean> = computed(()=>store.state.profile.access.hasLateralMenu)
+      const hasConfigurationMenu:ComputedRef<boolean>  = computed(()=>store.state.profile.access.hasConfigurationMenu)
+      const hasAccessesMenu:ComputedRef<boolean>  = computed(()=>store.state.profile.access.hasAccessesMenu)
+      const hasFamilyMenu:ComputedRef<boolean>  = computed(()=>store.state.profile.access.hasFamilyMenu)
+      const title:ComputedRef<string>  = computed(()=>store.state.profile.organization.name)
+
+      const webSiteMenu:Ref<any> = $useMenu.setUpContext().useWebSiteMenuConstruct()
+      const myAccessesMenu:Ref<any> = $useMenu.setUpContext().useMyAccessesMenuConstruct()
+      const myFamilyMenu:Ref<any> = $useMenu.setUpContext().useMyFamilyMenuConstruct()
+      const configurationMenu:Ref<any> = $useMenu.setUpContext().useConfigurationMenuConstruct()
+      const accountMenu:Ref<any> = $useMenu.setUpContext().useAccountMenuConstruct()
 
       const displayedMenu = () => {
         properties.miniVariant = !properties.miniVariant

+ 2 - 2
components/Layout/Loading.vue

@@ -8,11 +8,11 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, ref} from '@nuxtjs/composition-api'
+  import {defineComponent, ref, Ref} from '@nuxtjs/composition-api'
 
   export default defineComponent({
     setup() {
-      const loading = ref(false)
+      const loading:Ref<boolean> = ref(false)
 
       const set = (num: number) => {
         loading.value = true

+ 4 - 3
components/Layout/Notification.vue

@@ -30,14 +30,15 @@
 
 <script lang="ts">
   import {$useMenu} from '@/use/layout/menu'
-  import {defineComponent, reactive} from '@nuxtjs/composition-api'
+  import {defineComponent, reactive, Ref} from '@nuxtjs/composition-api'
   import {AnyJson} from "~/types/interfaces";
+  import {UnwrapRef} from "@vue/composition-api";
 
   export default defineComponent({
     setup() {
-      const menu: AnyJson = $useMenu.setUpContext().useConfigurationMenuConstruct()
+      const menu:Ref<any> = $useMenu.setUpContext().useConfigurationMenuConstruct()
 
-      const properties = reactive({
+      const properties:UnwrapRef<AnyJson> = reactive({
         menu: menu
       })
 

+ 3 - 3
components/Layout/Subheader.vue

@@ -21,13 +21,13 @@
 </template>
 
 <script lang="ts">
-  import {computed, defineComponent, useContext, ref} from '@nuxtjs/composition-api'
+  import {computed, defineComponent, useContext, ref, Ref, ComputedRef} from '@nuxtjs/composition-api'
 
   export default defineComponent({
     setup() {
       const {store} = useContext()
-      const showDateTimeRange = ref(false)
-      const displayedSubHeader = computed(()=>store.state.profile.access.hasLateralMenu || store.state.profile.access.isTeacher)
+      const showDateTimeRange:Ref<boolean> = ref(false)
+      const displayedSubHeader:ComputedRef<boolean> = computed(()=>store.state.profile.access.hasLateralMenu || store.state.profile.access.isTeacher)
       return {
         displayedSubHeader,
         showDateTimeRange

+ 2 - 2
components/Ui/Button/Delete.vue

@@ -29,7 +29,7 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, useContext, ref} from '@nuxtjs/composition-api'
+  import {defineComponent, useContext, ref, Ref} from '@nuxtjs/composition-api'
   import {DataDeleterArgs} from "~/types/interfaces";
   import {TYPE_ALERT} from "~/types/enums";
   import {alert} from "~/types/interfaces";
@@ -43,7 +43,7 @@
     },
     setup(props){
       const {$dataDeleter, store, app: {i18n}} = useContext()
-      const showDialog = ref(false)
+      const showDialog:Ref<boolean> = ref(false)
 
       const deleteItem = async () =>{
         try{

+ 5 - 5
components/Ui/DataTable.vue

@@ -38,7 +38,7 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, ref, useContext, useFetch, computed, toRefs, onUnmounted} from '@nuxtjs/composition-api'
+  import {defineComponent, ref, useContext, useFetch, computed, toRefs, Ref} from '@nuxtjs/composition-api'
   import {Query} from "@vuex-orm/core";
   import {AnyJson} from "~/types/interfaces";
   import {queryHelper} from "~/services/store/query";
@@ -77,11 +77,11 @@
         })
       })
 
-      const totalEntries = ref(0)
-      const entries = ref([] as Array<AnyJson>)
+      const totalEntries:Ref<number> = ref(0)
+      const entries:Ref<Array<AnyJson>> = ref(Array<AnyJson>())
 
       const {$dataProvider} = useContext()
-      const {fetch, fetchState} = useFetch(async ()=>{
+      useFetch(async ()=>{
         await $dataProvider.invoke({
           type: QUERY_TYPE.MODEL,
           model: model.value,
@@ -92,7 +92,7 @@
         totalEntries.value = entries.value.length
       })
 
-      const itemId = ref(0);
+      const itemId:Ref<number> = ref(0);
 
       const editItem = (item: AnyJson) => {
         itemId.value=item.id;

+ 8 - 9
components/Ui/Form.vue

@@ -59,13 +59,14 @@
 </template>
 
 <script lang="ts">
-  import {computed, defineComponent, onBeforeMount, onBeforeUnmount, onUnmounted, reactive, toRefs, useContext, watch, ref} from '@nuxtjs/composition-api'
+  import {computed, defineComponent, onBeforeMount, onBeforeUnmount, onUnmounted, reactive, toRefs, useContext, watch, ref, Ref, ComputedRef} from '@nuxtjs/composition-api'
   import {repositoryHelper} from "~/services/store/repository";
   import {queryHelper} from "~/services/store/query";
   import {Query} from "@vuex-orm/core";
   import {QUERY_TYPE, TYPE_ALERT} from "~/types/enums";
-  import {alert} from "~/types/interfaces";
+  import {alert, AnyJson} from "~/types/interfaces";
   import {$useDirtyForm} from "~/use/form/useDirtyForm";
+  import {ToRefs, UnwrapRef} from "@vue/composition-api";
 
   export default defineComponent({
     props: {
@@ -86,18 +87,16 @@
       const {$dataPersister, store, app: {router, i18n}} = useContext()
       const {markFormAsDirty, markFormAsNotDirty} = $useDirtyForm(store)
 
-      const {id, query} = toRefs(props)
-      const properties = reactive({
+      const {id, query}:ToRefs = toRefs(props)
+      const properties:UnwrapRef<AnyJson> = reactive({
         valid: false,
         saveOk: false,
         saveKo: false
       })
 
-      const readOnly = computed(() => {
-        return false
-      })
+      const readOnly:Ref<boolean> = ref(false)
 
-      const entry = computed(() => {
+      const entry:ComputedRef<AnyJson> = computed(() => {
         return queryHelper.getFlattenEntry(query.value, id.value)
       })
 
@@ -130,7 +129,7 @@
         }
       }
 
-      const showDialog = computed(() => {
+      const showDialog:ComputedRef<boolean> = computed(() => {
         return store.state.form.showConfirmToLeave
       })
 

+ 2 - 2
components/Ui/Input/Autocomplete.vue

@@ -20,7 +20,7 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, computed, watch, ref, useContext, onUnmounted} from '@nuxtjs/composition-api'
+  import {defineComponent, computed, watch, ref, useContext, onUnmounted, Ref} from '@nuxtjs/composition-api'
   import {QUERY_TYPE} from "~/types/enums";
   import * as _ from "lodash";
 
@@ -58,7 +58,7 @@
     setup(props){
       const {$dataProvider} = useContext();
 
-      const search = ref(null);
+      const search:Ref<string|null> = ref(null);
       const model = ref(null);
       const count = ref(0);
       const entries = ref([]);

+ 8 - 7
components/Ui/Input/DatePicker.vue

@@ -34,8 +34,9 @@
 
 
 <script lang="ts">
-  import {defineComponent, watch, ref, useContext, onUnmounted, computed} from '@nuxtjs/composition-api'
+  import {defineComponent, watch, ref, useContext, onUnmounted, computed, Ref, ComputedRef} from '@nuxtjs/composition-api'
   import DatesUtils from "~/services/utils/datesUtils";
+  import {WatchStopHandle} from "@vue/composition-api";
 
   export default defineComponent({
     props: {
@@ -73,9 +74,9 @@
       const {$moment} = useContext()
       const dateUtils = new DatesUtils($moment)
 
-      const datesParsed = range ? ref(Array<string>()) : ref()
+      const datesParsed:Ref<Array<string>|string> = range ? ref(Array<string>()) : ref('')
 
-      if(range){
+      if(datesParsed.value instanceof Array){
         for(const date of data as Array<string>){
           if(date)
             datesParsed.value.push($moment(date).format('YYYY-MM-DD'))
@@ -84,14 +85,14 @@
         datesParsed.value = $moment(data as string).format('YYYY-MM-DD')
       }
 
-      const datesFormatted = computed(()=>{
+      const datesFormatted:ComputedRef<string> = computed(()=>{
        return dateUtils.formattedDate(datesParsed.value, 'DD/MM/YYYY')
       })
 
-      const unwatch = watch(datesParsed, (newValue, oldValue) => {
+      const unwatch:WatchStopHandle = watch(datesParsed, (newValue, oldValue) => {
         if(newValue === oldValue) return
-        if(range && newValue.length < 2) return
-        emit('update', range ? dateUtils.sortDate(newValue) : newValue, field)
+        if(newValue instanceof Array && newValue.length < 2) return
+        emit('update', newValue instanceof Array ? dateUtils.sortDate(newValue) : newValue, field)
       })
 
       onUnmounted(()=>{

+ 4 - 4
components/Ui/Input/Enum.vue

@@ -21,8 +21,8 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, ref, useContext, useFetch} from '@nuxtjs/composition-api'
-  import {AnyJson} from "~/types/interfaces";
+  import {defineComponent, ref, useContext, useFetch, Ref} from '@nuxtjs/composition-api'
+  import {EnumChoices} from "~/types/interfaces";
   import {QUERY_TYPE} from "~/types/enums";
 
   export default defineComponent({
@@ -58,8 +58,8 @@
       const { enumType } = props
       const {$dataProvider} = useContext()
 
-      const items: AnyJson = ref([])
-      const {fetch, fetchState} = useFetch(async () => {
+      const items: Ref<Array<EnumChoices>> = ref([])
+      useFetch(async () => {
         items.value = await $dataProvider.invoke({
           type: QUERY_TYPE.ENUM,
           enumType: enumType

+ 8 - 7
components/Ui/Map.vue

@@ -18,11 +18,12 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, computed,ref, toRefs, useContext} from '@nuxtjs/composition-api'
+  import {defineComponent, computed,ref, toRefs, useContext, ComputedRef, Ref} from '@nuxtjs/composition-api'
   import {QUERY_TYPE, TYPE_ALERT} from "~/types/enums";
   import {AddressPostal} from "~/models/Core/AddressPostal";
   import {AnyJson} from "~/types/interfaces";
   import {alert} from "~/types/interfaces";
+  import {ToRefs} from "@vue/composition-api";
 
   export default defineComponent({
     props:{
@@ -37,13 +38,13 @@
     },
     setup(props, {emit}){
       const {$dataProvider, store} = useContext()
-      const {address} = toRefs(props)
-      const latitude = ref(address.value.latitude)
-      const longitude = ref(address.value.longitude)
+      const {address}:ToRefs = toRefs(props)
+      const latitude:Ref<number> = ref(address.value.latitude)
+      const longitude:Ref<number> = ref(address.value.longitude)
 
-      const center = computed(() => [latitude.value,longitude.value])
-      const latLong = computed(() => [latitude.value,longitude.value])
-      const layerUrl = 'https://{s}.tile.osm.org/{z}/{x}/{y}.png'
+      const center:ComputedRef<Array<number>> = computed(() => [latitude.value,longitude.value])
+      const latLong:ComputedRef<Array<number>> = computed(() => [latitude.value,longitude.value])
+      const layerUrl:string = 'https://{s}.tile.osm.org/{z}/{x}/{y}.png'
 
       const updateMap = async () => {
         let response = await $dataProvider.invoke({

+ 3 - 3
components/Ui/SubList.vue

@@ -13,7 +13,7 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, ref, computed, useContext, useFetch, toRefs, onUnmounted} from '@nuxtjs/composition-api'
+  import {defineComponent, ref, computed, useContext, useFetch, toRefs, onUnmounted, ToRefs} from '@nuxtjs/composition-api'
   import {Model, Query} from "@vuex-orm/core";
   import {queryHelper} from "~/services/store/query";
   import {QUERY_TYPE} from "~/types/enums";
@@ -38,9 +38,9 @@
       }
     },
     setup(props) {
-      const {rootModel, rootId, model, query} = toRefs(props);
+      const {rootModel, rootId, model, query}:ToRefs = toRefs(props);
       const {$dataProvider} = useContext()
-      const {fetch, fetchState} = useFetch(async ()=>{
+      useFetch(async ()=>{
         await $dataProvider.invoke({
           type: QUERY_TYPE.MODEL,
           model: model.value,

+ 5 - 4
components/Ui/Xeditable/Text.vue

@@ -17,7 +17,7 @@
 </template>
 
 <script lang="ts">
-  import {defineComponent, ref} from '@nuxtjs/composition-api'
+  import {defineComponent, ref, Ref} from '@nuxtjs/composition-api'
 
   export default defineComponent({
     props: {
@@ -27,12 +27,13 @@
       },
       data: {
         type: [String, Number],
-        required: false
+        required: false,
+        default:null
       }
     },
     setup(props, {emit}){
-      const edit = ref(false)
-      const inputValue = ref(props.data)
+      const edit:Ref<boolean> = ref(false)
+      const inputValue:Ref<string|number|null> = ref(props.data)
 
       const update = () =>{
         edit.value = false

+ 4 - 3
pages/organization.vue

@@ -11,19 +11,20 @@
 
 
 <script lang="ts">
-  import {computed, defineComponent, useContext} from '@nuxtjs/composition-api'
+  import {computed, defineComponent, useContext, ComputedRef} from '@nuxtjs/composition-api'
   import {QUERY_TYPE} from "~/types/enums";
   import {Organization} from "~/models/Organization/Organization";
   import {queryHelper} from "~/services/store/query";
   import {repositoryHelper} from "~/services/store/repository";
+  import {Item, Query} from "@vuex-orm/core";
 
   export default defineComponent({
     name: 'organization',
     setup() {
       const {store} = useContext()
       const repository = repositoryHelper.getRepository(Organization)
-      const query = computed(() => repository.query())
-      const entry = computed(() => {
+      const query:ComputedRef<Query> = computed(() => repository.query())
+      const entry:ComputedRef<Item> = computed(() => {
         return queryHelper.getItem(query.value, store.state.profile.organization.id)
       })
       return {

+ 8 - 6
pages/organization/address/_id.vue

@@ -72,23 +72,25 @@
 
 
 <script lang="ts">
-  import {defineComponent, useContext, useFetch, ref, computed} from '@nuxtjs/composition-api'
+  import {defineComponent, useContext, useFetch, ref, computed, Ref, ComputedRef} from '@nuxtjs/composition-api'
   import {OrganizationAddressPostal} from "~/models/Organization/OrganizationAddressPostal";
   import {QUERY_TYPE} from "~/types/enums";
   import {repositoryHelper} from "~/services/store/repository";
   import {queryHelper} from "~/services/store/query";
   import {AnyJson} from "~/types/interfaces";
   import {AddressPostal} from "~/models/Core/AddressPostal";
+  import {Repository as VuexRepository} from "@vuex-orm/core/dist/src/repository/Repository";
+  import {Model, Query} from "@vuex-orm/core";
 
   export default defineComponent({
     name: 'organization_address',
     setup() {
       const {route, $dataProvider} = useContext()
-      const loading = ref(true)
-      const id = parseInt(route.value.params.id)
+      const loading:Ref<boolean> = ref(true)
+      const id:number = parseInt(route.value.params.id)
 
-      const repository = repositoryHelper.getRepository(OrganizationAddressPostal)
-      const query = repository.with('addressPostal', (query) => {
+      const repository: VuexRepository<Model> = repositoryHelper.getRepository(OrganizationAddressPostal)
+      const query:Query = repository.with('addressPostal', (query) => {
         query.with('addressCountry')
       })
 
@@ -101,7 +103,7 @@
         loading.value = false
       })
 
-      const addressItem = computed(() =>  {
+      const addressItem:ComputedRef<AddressPostal|null> = computed(() =>  {
         const organizationAddressPostal = queryHelper.getFirstItem(query) as OrganizationAddressPostal
         return organizationAddressPostal.addressPostal
       })

+ 1 - 1
pages/organization/index.vue

@@ -320,7 +320,7 @@
     setup() {
       const {store, app: {i18n}, $dataProvider} = useContext()
       const organizationProfile = $organizationProfile(store)
-      const id = store.state.profile.organization.id;
+      const id:number = store.state.profile.organization.id;
 
       const repositories = getRepositories()
 

+ 3 - 3
use/form/useChecker.ts

@@ -1,4 +1,4 @@
-import {ref} from "@nuxtjs/composition-api";
+import {ref, Ref} from "@nuxtjs/composition-api";
 import {QUERY_TYPE} from "~/types/enums";
 import {DataProviders} from "~/types/interfaces";
 import VueI18n from "vue-i18n";
@@ -13,8 +13,8 @@ class UseChecker{
    * Use méthode fournissant une fonction pour tester la validité d'une Siret ainsi que la gestion du message d'erreur
    */
   public static useHandleSiret(i18n:VueI18n, $dataProvider: DataProviders){
-    const siretError = ref(false)
-    const siretErrorMessage = ref('')
+    const siretError:Ref<boolean> = ref(false)
+    const siretErrorMessage:Ref<string> = ref('')
 
     const checkSiret = async (siret:string) => {
       const response = await $dataProvider.invoke({

+ 2 - 2
use/form/useNavigationHelpers.ts

@@ -1,10 +1,10 @@
-import {onMounted, ref, useContext} from "@nuxtjs/composition-api";
+import {onMounted, ref, useContext, Ref} from "@nuxtjs/composition-api";
 import * as _ from "lodash";
 
 export class UseNavigationHelpers{
   public static expansionPanels(){
     const {route} = useContext()
-    const panel = ref()
+    const panel:Ref<number> = ref(0)
     const activeAccordionId = route.value.query.accordion
     onMounted(()=>{
       setTimeout(function(){

+ 23 - 23
use/layout/menu.ts

@@ -1,5 +1,5 @@
-import {ref, useContext} from "@nuxtjs/composition-api";
-import {ItemsMenu, OrganizationStore} from "~/types/interfaces";
+import {ref, useContext, Ref} from "@nuxtjs/composition-api";
+import {ItemMenu, ItemsMenu, OrganizationStore} from "~/types/interfaces";
 import {getAccessMenu} from "~/use/layout/Menus/accessMenu";
 import {getAgendaMenu} from "~/use/layout/Menus/agendaMenu";
 import {getEquipmentMenu} from "~/use/layout/Menus/equipmentMenu";
@@ -42,44 +42,44 @@ class Menu{
   /**
    * Construit le menu et mets à jour le state du profile d'access
    */
-  useLateralMenuConstruct(){
+  useLateralMenuConstruct():Ref{
 
     let menu:ItemsMenu = []
 
-    const accessMenu = getAccessMenu(this.$config,this.$ability,this.$store)
+    const accessMenu:ItemMenu | null = getAccessMenu(this.$config,this.$ability,this.$store)
     if(accessMenu) menu.push(accessMenu)
 
-    const agendaMenu = getAgendaMenu(this.$config,this.$ability)
+    const agendaMenu:ItemMenu | null = getAgendaMenu(this.$config,this.$ability)
     if(agendaMenu) menu.push(agendaMenu)
 
-    const equipmentMenu = getEquipmentMenu(this.$config,this.$ability)
+    const equipmentMenu:ItemMenu | null = getEquipmentMenu(this.$config,this.$ability)
     if(equipmentMenu) menu.push(equipmentMenu)
 
-    const educationalMenu = getEducationalMenu(this.$config,this.$ability)
+    const educationalMenu:ItemMenu | null = getEducationalMenu(this.$config,this.$ability)
     if(educationalMenu) menu.push(educationalMenu)
 
-    const billingMenu = getBillingMenu(this.$config,this.$ability)
+    const billingMenu:ItemMenu | null = getBillingMenu(this.$config,this.$ability)
     if(billingMenu) menu.push(billingMenu)
 
-    const communicationMenu = getCommunicationMenu(this.$config,this.$ability)
+    const communicationMenu:ItemMenu | null = getCommunicationMenu(this.$config,this.$ability)
     if(communicationMenu) menu.push(communicationMenu)
 
-    const donorsMenu = getDonorsMenu(this.$config,this.$ability)
+    const donorsMenu:ItemMenu | null = getDonorsMenu(this.$config,this.$ability)
     if(donorsMenu) menu.push(donorsMenu)
 
-    const medalsMenu = getMedalsMenu(this.$config,this.$ability)
+    const medalsMenu:ItemMenu | null = getMedalsMenu(this.$config,this.$ability)
     if(medalsMenu) menu.push(medalsMenu)
 
-    const websiteMenu = getWebsiteMenu(this.$config,this.$ability,this.$store).getMenu()
+    const websiteMenu:ItemMenu | null = getWebsiteMenu(this.$config,this.$ability,this.$store).getMenu()
     if(websiteMenu) menu.push(websiteMenu)
 
-    const cotisationsMenu = getCotisationsMenu(this.$config,this.$ability)
+    const cotisationsMenu:ItemMenu | null = getCotisationsMenu(this.$config,this.$ability)
     if(cotisationsMenu) menu.push(cotisationsMenu)
 
-    const statsMenu = getStatsMenu(this.$config,this.$ability)
+    const statsMenu:ItemMenu | null = getStatsMenu(this.$config,this.$ability)
     if(statsMenu) menu.push(statsMenu)
 
-    const admin2iosMenu = getAdmin2iosMenu(this.$config,this.$ability)
+    const admin2iosMenu:ItemMenu | null = getAdmin2iosMenu(this.$config,this.$ability)
     if(admin2iosMenu) menu.push(admin2iosMenu)
 
     //Si l'utilisateur possède au moins un menu alors le menu latéral sera accessible
@@ -91,8 +91,8 @@ class Menu{
   /**
    * Construit le menu configuration et mets à jour le state du profile d'access
    */
-  useConfigurationMenuConstruct() {
-    const menu = getConfigurationMenu(this.$config,this.$ability,this.$store);
+  useConfigurationMenuConstruct():Ref {
+    const menu:ItemMenu | null = getConfigurationMenu(this.$config,this.$ability,this.$store);
     //Si l'utilisateur possède au moins un menu alors le menu configuration sera accessible
     this.$store.commit('profile/access/setHasConfigurationMenu', menu != null)
     return ref(menu)
@@ -101,15 +101,15 @@ class Menu{
   /**
    * Construit le menu Mon Compte
    */
-  useAccountMenuConstruct() {
+  useAccountMenuConstruct():Ref {
     return ref(getAccountMenu(this.$config,this.$ability,this.$store))
   }
 
   /**
    * Construit le menu Mes structure et mets à jour le state du profile d'access
    */
-  useMyAccessesMenuConstruct() {
-    const menu = getMyAccessesMenu(this.$config,this.$ability,this.$store);
+  useMyAccessesMenuConstruct():Ref {
+    const menu:ItemMenu | null = getMyAccessesMenu(this.$config,this.$ability,this.$store);
     //Si l'utilisateur possède au moins un menu alors le menu mes structures sera accessible
     this.$store.commit('profile/access/setHasAccessesMenu', menu != null)
     return ref(menu)
@@ -118,8 +118,8 @@ class Menu{
   /**
    * Construit le menu Changement d'utilisateur et mets à jour le state du profile d'access
    */
-  useMyFamilyMenuConstruct() {
-    const menu = getMyFamilyMenu(this.$config,this.$ability,this.$store);
+  useMyFamilyMenuConstruct():Ref {
+    const menu:ItemMenu | null = getMyFamilyMenu(this.$config,this.$ability,this.$store);
     //Si l'utilisateur possède au moins un menu alors le menu changement d'utilisateur sera accessible
     this.$store.commit('profile/access/setHasFamilyMenu', menu != null)
     return ref(menu)
@@ -128,7 +128,7 @@ class Menu{
   /**
    * Construit le menu site internet du header
    */
-  useWebSiteMenuConstruct() {
+  useWebSiteMenuConstruct():Ref {
     return ref(getWebsiteMenu(this.$config,this.$ability,this.$store).getHeaderMenu())
   }
 }

+ 4 - 4
use/updater/useMyProfileUpdater.ts

@@ -1,7 +1,7 @@
 import {repositoryHelper} from "~/services/store/repository";
 import {QUERY_TYPE} from "~/types/enums";
-import {computed} from '@nuxtjs/composition-api'
-import {accessState, AnyJson, AnyStore} from "~/types/interfaces";
+import {computed, ComputedRef} from '@nuxtjs/composition-api'
+import {accessState, AnyJson, AnyStore, Historical} from "~/types/interfaces";
 import DataPersister from "~/services/dataPersister/dataPersister";
 import {MyProfile} from "~/models/Access/MyProfile";
 
@@ -24,8 +24,8 @@ export class UseMyProfileUpdater{
    */
   public invoke(): AnyJson{
     this.myProfile = this.createNewMyProfileInstance(this.store.state.profile.access)
-    const activityYear = computed(()=>this.myProfile.activityYear)
-    const historical = computed(()=>this.myProfile.historical)
+    const activityYear:ComputedRef<number> = computed(()=>this.myProfile.activityYear)
+    const historical:ComputedRef<Historical> = computed(()=>this.myProfile.historical)
 
     return {
       updateMyProfile: () => this.updateMyProfile(),