Olivier Massot 4 months ago
parent
commit
78eed18d91

+ 24 - 24
components/Form/Freemium/Event.vue

@@ -15,7 +15,7 @@
             v-model="entity.datetimeStart"
             field="datetimeStart"
             label="datetimeStart"
-            :withTimePicker="true"
+            :with-time-picker="true"
             class="my-2"
             :rules="getAsserts('datetimeStart')"
             validate-on-blur
@@ -27,7 +27,7 @@
             v-model="entity.datetimeEnd"
             field="datetimeEnd"
             label="datetimeEnd"
-            :withTimePicker="true"
+            :with-time-picker="true"
             class="my-2"
             :rules="getAsserts('datetimeEnd')"
             @update:model-value="onUpdateDateTimeEnd(entity, $event)"
@@ -35,8 +35,8 @@
 
           <span class="label">{{$t('description')}}</span>
           <UiInputTextArea
-            class="mt-3"
             v-model="entity.description"
+            class="mt-3"
           />
 
           <UiInputTreeSelectEventCategories
@@ -60,12 +60,12 @@
         <h4 class="mb-8">{{ $t('place_event') }}</h4>
 
         <UiInputAutocompleteApiResources
+          v-if="!newPlace"
           v-model="entity.place"
           field="place"
           :model="PlaceSearchItem"
-          listValue="id"
-          listLabel="name"
-          v-if="!newPlace"
+          list-value="id"
+          list-label="name"
           @update:model-value="getPlace(entity)"
         />
 
@@ -101,39 +101,39 @@
 
 
 
-        <UiInputText :readonly="!newPlace && !editPlace" v-model="entity.placeName" field="placeName" />
+        <UiInputText v-model="entity.placeName" :readonly="!newPlace && !editPlace" field="placeName" />
 
-        <UiInputText :readonly="!newPlace && !editPlace" v-model="entity.streetAddress" field="streetAddress" />
+        <UiInputText v-model="entity.streetAddress" :readonly="!newPlace && !editPlace" field="streetAddress" />
 
-        <UiInputText :readonly="!newPlace && !editPlace" v-model="entity.streetAddressSecond" field="streetAddressSecond" />
+        <UiInputText v-model="entity.streetAddressSecond" :readonly="!newPlace && !editPlace" field="streetAddressSecond" />
 
-        <UiInputText :readonly="!newPlace && !editPlace" v-model="entity.streetAddressThird" field="streetAddressThird" />
+        <UiInputText v-model="entity.streetAddressThird" :readonly="!newPlace && !editPlace" field="streetAddressThird" />
 
-        <UiInputText :readonly="!newPlace && !editPlace" v-model="entity.postalCode" field="postalCode" />
+        <UiInputText v-model="entity.postalCode" :readonly="!newPlace && !editPlace" field="postalCode" />
 
-        <UiInputText :readonly="!newPlace && !editPlace" v-model="entity.addressCity" field="addressCity" />
+        <UiInputText v-model="entity.addressCity" :readonly="!newPlace && !editPlace" field="addressCity" />
 
         <UiInputAutocompleteApiResources
-          :readonly="!newPlace && !editPlace"
           v-model="entity.addressCountry"
+          :readonly="!newPlace && !editPlace"
           field="addressCountry"
           :model="Country"
-          listValue="id"
-          listLabel="name"
+          list-value="id"
+          list-label="name"
         />
 
         <client-only>
           <UiMapLeaflet
-            :readonly="!newPlace && !editPlace"
             v-model:latitude="entity.latitude"
             v-model:longitude="entity.longitude"
-            :streetAddress="entity.streetAddress"
-            :streetAddressSecond="entity.streetAddressSecond"
-            :streetAddressThird="entity.streetAddressThird"
-            :postalCode="entity.postalCode"
-            :addressCity="entity.addressCity"
-            :addressCountryId="entity.addressCountry"
-            :searchButton="true"
+            :readonly="!newPlace && !editPlace"
+            :street-address="entity.streetAddress"
+            :street-address-second="entity.streetAddressSecond"
+            :street-address-third="entity.streetAddressThird"
+            :postal-code="entity.postalCode"
+            :address-city="entity.addressCity"
+            :address-country-id="entity.addressCountry"
+            :search-button="true"
           ></UiMapLeaflet>
         </client-only>
 
@@ -306,7 +306,7 @@ const resetPlace = (entity: Event)=>{
 // Nettoyer les données lors du démontage du composant
 onBeforeUnmount(() => {
   // Nettoyer les références du store si nécessaire
-  if (process.client) {
+  if (import.meta.client) {
     clearNuxtData('/^' + Place.entity + '_/')
     useRepo(Place).flush()
   }

+ 1 - 1
components/Layout/Parameters/EntityTable.vue

@@ -199,7 +199,7 @@ const goToCreatePage = () => {
 // Nettoyer les données lors du démontage du composant
 onBeforeUnmount(() => {
   // Nettoyer les références du store si nécessaire
-  if (process.client) {
+  if (import.meta.client) {
     clearNuxtData('/^' + props.model.entity + '_many_/')
     useRepo(props.model).flush()
   }

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

@@ -4,7 +4,7 @@ Bouton Delete avec modale de confirmation de la suppression
 
 <template>
   <main>
-    <div @click="onDeleteClicked()" class="div_to_clicked">
+    <div class="div_to_clicked" @click="onDeleteClicked()">
       <!-- Content -->
       <slot/>
     </div>

+ 10 - 10
components/Ui/EventList.vue

@@ -3,13 +3,13 @@
     <v-list  height="420">
 
       <v-list-item
-        class="event-item"
         v-for="event in events"
         :key="event.id"
+        class="event-item"
       >
-        <template v-slot:prepend>
+        <template #prepend>
           <v-avatar color="grey-lighten-1">
-            <UiImage :imageId="event.image" :width="50" />
+            <UiImage :image-id="event.image" :width="50" />
           </v-avatar>
         </template>
 
@@ -24,7 +24,7 @@
           </div>
         </template>
 
-        <template v-slot:append>
+        <template #append>
           <v-avatar class="edit-btn"  @click="$emit('edit', event.id)">
             <v-icon>fas fa-pencil</v-icon>
           </v-avatar>
@@ -39,23 +39,23 @@
 
     </v-list>
 
-    <div class="d-flex justify-space-between px-4 py-2 pagination mb-5" v-if="events.length > 0">
-      <v-btn variant="flat" class="pagination-btn" @click="$emit('load', pagination.first)" :disabled="!pagination.first || !pagination.previous">
+    <div v-if="events.length > 0" class="d-flex justify-space-between px-4 py-2 pagination mb-5">
+      <v-btn variant="flat" class="pagination-btn" :disabled="!pagination.first || !pagination.previous" @click="$emit('load', pagination.first)">
         <v-avatar>
         <v-icon>fas fa-angles-left</v-icon>
       </v-avatar>
       </v-btn>
-      <v-btn variant="flat" class="pagination-btn" @click="$emit('load', pagination.previous)" :disabled="!pagination.previous">
+      <v-btn variant="flat" class="pagination-btn" :disabled="!pagination.previous" @click="$emit('load', pagination.previous)">
         <v-avatar>
           <v-icon>fas fa-angle-left</v-icon>
         </v-avatar>
       </v-btn>
-      <v-btn variant="flat" class="pagination-btn" @click="$emit('load', pagination.next)" :disabled="!pagination.next">
+      <v-btn variant="flat" class="pagination-btn" :disabled="!pagination.next" @click="$emit('load', pagination.next)">
         <v-avatar>
           <v-icon>fas fa-angle-right</v-icon>
         </v-avatar>
       </v-btn>
-      <v-btn variant="flat" class="pagination-btn" @click="$emit('load', pagination.last)" :disabled="pagination.last == 1">
+      <v-btn variant="flat" class="pagination-btn" :disabled="pagination.last == 1" @click="$emit('load', pagination.last)">
         <v-avatar>
           <v-icon>fas fa-angles-right</v-icon>
         </v-avatar>
@@ -67,7 +67,7 @@
 <script lang="ts" setup>
 import { defineProps, defineEmits } from 'vue'
 import type {Collection} from "pinia-orm";
-import Event from "~/models/Freemium/Event";
+import type Event from "~/models/Freemium/Event";
 import type {Pagination} from "~/types/data";
 import { useDate } from 'vuetify'
 

+ 1 - 1
components/Ui/Form.vue

@@ -103,7 +103,7 @@ import { usePageStore } from '~/stores/page'
 import type { AnyJson } from '~/types/data'
 import { useRefreshProfile } from '~/composables/data/useRefreshProfile'
 import Organization from "~/models/Freemium/Organization";
-import Event from "~/models/Freemium/Event";
+import type Event from "~/models/Freemium/Event";
 import Country from "~/models/Core/Country";
 
 const props = defineProps({

+ 1 - 1
components/Ui/Form/Creation.vue

@@ -65,7 +65,7 @@ const quit = () => {
 // Nettoyer les données lors du démontage du composant
 onBeforeUnmount(() => {
   // Nettoyer les références du store si nécessaire
-  if (process.client) {
+  if (import.meta.client) {
     useRepo(props.model).flush()
   }
 })

+ 1 - 1
components/Ui/Form/Edition.vue

@@ -79,7 +79,7 @@ const quit = () => {
 // Nettoyer les données lors du démontage du composant
 onBeforeUnmount(() => {
   // Nettoyer les références du store si nécessaire
-  if (process.client) {
+  if (import.meta.client) {
     clearNuxtData('/^' + props.model.entity + '_' + props.id + '_/')
     useRepo(props.model).flush()
     // Forcer le garbage collection des objets Parameters

+ 1 - 1
components/Ui/Input/Autocomplete/Accesses.vue

@@ -256,7 +256,7 @@ const onUpdateModelValue = (event: Array<number>) => {
 // Nettoyer les données lors du démontage du composant
 onBeforeUnmount(() => {
   // Nettoyer les références du store si nécessaire
-  if (process.client) {
+  if (import.meta.client) {
     clearNuxtData('/^' + UserSearchItem + '_many_/')
     useRepo(UserSearchItem).flush()
   }

+ 1 - 1
components/Ui/Input/Autocomplete/ApiResources.vue

@@ -308,7 +308,7 @@ const onUpdateModelValue = (event: Array<number>) => {
 // Nettoyer les données lors du démontage du composant
 onBeforeUnmount(() => {
   // Nettoyer les références du store si nécessaire
-  if (process.client) {
+  if (import.meta.client) {
     clearNuxtData('/^' + props.model.entity + '_many_/')
     useRepo(props.model).flush()
   }

+ 1 - 1
components/Ui/Input/Autocomplete/Enum.vue

@@ -74,7 +74,7 @@ const items: ComputedRef<Array<Enum>> = computed(() => {
 // Nettoyer les données lors du démontage du composant
 onBeforeUnmount(() => {
   // Nettoyer les références du store si nécessaire
-  if (process.client) {
+  if (import.meta.client) {
     clearNuxtData(props.enumName)
     // Forcer le garbage collection des objets Parameters
     enumItems.value = null

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

@@ -10,8 +10,8 @@ Sélecteur de dates, à placer dans un composant `UiForm`
       </span>
 
       <v-validation
-        v-model="date"
         v-slot="{ errorMessages }"
+        v-model="date"
         :rules="rules"
         :error="error || !!fieldViolations"
         :error-messages="
@@ -22,12 +22,12 @@ Sélecteur de dates, à placer dans un composant `UiForm`
           <UiDatePicker
             v-model="date"
             :readonly="readonly"
-            :withTimePicker="withTimePicker"
+            :with-time-picker="withTimePicker"
             class="date-picker"
             @update:model-value="onUpdate($event)"
           />
 
-        <div class="v-input__details error_message" v-if="errorMessages.value.length > 0">
+        <div v-if="errorMessages.value.length > 0" class="v-input__details error_message">
           <div class="v-messages__message">
             <span v-for="errorMessage in errorMessages.value">
                 {{ errorMessage }}

+ 3 - 3
components/Ui/Input/DateTimePicker.vue

@@ -49,8 +49,8 @@
           <v-time-picker
             :model-value="time"
             format="24hr"
-            @update:model-value="onUpdateTime($event)"
             scrollable
+            @update:model-value="onUpdateTime($event)"
           />
         </v-menu>
       </v-text-field>
@@ -155,13 +155,13 @@ const emit = defineEmits(['update:model-value'])
 
 const onUpdateDate = (event: string) => {
   updateViolationState()
-  let date = DateUtils.combineDateAndTime(event, time.value)
+  const date = DateUtils.combineDateAndTime(event, time.value)
   emit('update:model-value', date.toISOString().replace('.000Z', '+00:00'))
 }
 
 const onUpdateTime = (event: string) => {
   updateViolationState()
-  let date = DateUtils.combineDateAndTime(dateModel.value, event)
+  const date = DateUtils.combineDateAndTime(dateModel.value, event)
   emit('update:model-value', date.toISOString().replace('.000Z', '+00:00'))
 }
 

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

@@ -11,9 +11,9 @@ Champs de saisie d'un numéro de téléphone
     :rules="rules"
     :variant="variant"
     :label="label || field ? $t(label ?? field) : undefined"
-    defaultCountry="FR"
+    default-country="FR"
+    :invalid-message="(n) => $t('invalid_phone_number', { example: n.example})"
     @update:model-value="onUpdate($event)"
-    :invalidMessage="(n) => $t('invalid_phone_number', { example: n.example})"
   />
 </template>
 

+ 2 - 2
components/Ui/Input/TreeSelect/EventCategories.vue

@@ -5,8 +5,8 @@
     :label="$t(label)"
     v-bind="$attrs"
     :loading="status === FETCHING_STATUS.PENDING"
-    @update:model-value="$emit('update:modelValue', $event)"
     :max-visible-chips="6"
+    @update:model-value="$emit('update:modelValue', $event)"
   />
 </template>
 
@@ -141,7 +141,7 @@ const hierarchicalItems = computed(() => {
 // Nettoyer les données lors du démontage du composant
 onBeforeUnmount(() => {
   // Nettoyer les références du store si nécessaire
-  if (process.client) {
+  if (import.meta.client) {
     clearNuxtData('/^' + EventCategory + '_many_/')
     useRepo(EventCategory).flush()
   }

+ 3 - 3
components/Ui/MapLeaflet.client.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="map-container">
-    <v-skeleton-loader type="image" v-if="pending"></v-skeleton-loader>
+    <v-skeleton-loader v-if="pending" type="image"></v-skeleton-loader>
 
     <LMap
       v-show="!pending"
@@ -19,15 +19,15 @@
 
       <LMarker
         :lat-lng="position"
-        @update:latLng="onPositionUpdate($event)"
         :draggable="!readonly"
+        @update:lat-lng="onPositionUpdate($event)"
          />
     </LMap>
 
     <v-btn
+      v-if="searchButton && !readonly"
       prepend-icon="fas fa-location-dot"
       class="mt-3"
-      v-if="searchButton && !readonly"
       @click="search()"
     >
       {{$t('search_gps_button')}}

+ 1 - 2
models/Freemium/Event.ts

@@ -1,7 +1,6 @@
-import { Str, Uid } from 'pinia-orm/dist/decorators'
+import { Str, Uid,Attr, Num } from 'pinia-orm/dist/decorators'
 import ApiModel from '~/models/ApiModel'
 import {Assert, IriEncoded} from '~/models/decorators'
-import {Attr, Num} from "pinia-orm/decorators";
 import File from "~/models/Core/File";
 import Place from "~/models/Place/Place";
 import Country from "~/models/Core/Country";

+ 1 - 2
models/Freemium/Organization.ts

@@ -1,7 +1,6 @@
-import { Str, Uid } from 'pinia-orm/dist/decorators'
+import { Str, Uid,Attr, Bool, Num } from 'pinia-orm/dist/decorators'
 import ApiModel from '~/models/ApiModel'
 import {Assert, IdLess, IriEncoded} from '~/models/decorators'
-import {Attr, Bool, Num} from "pinia-orm/decorators";
 import Country from "~/models/Core/Country";
 import File from "~/models/Core/File";
 

+ 1 - 2
models/Freemium/Place.ts

@@ -1,7 +1,6 @@
-import { Str, Uid } from 'pinia-orm/dist/decorators'
+import { Str, Uid,Attr, Num } from 'pinia-orm/dist/decorators'
 import ApiModel from '~/models/ApiModel'
 import {Assert, IriEncoded} from '~/models/decorators'
-import {Attr, Num} from "pinia-orm/decorators";
 import Country from "~/models/Core/Country";
 
 /**

+ 4 - 4
pages/freemium/dashboard.vue

@@ -82,10 +82,6 @@
 
 import Query from "~/services/data/Query";
 
-definePageMeta({
-  name: 'freemium_dashboard_page',
-})
-
 import {type Ref, ref} from 'vue'
 import {useEntityFetch} from "~/composables/data/useEntityFetch";
 import Organization from "~/models/Freemium/Organization";
@@ -101,6 +97,10 @@ import UrlUtils from "~/services/utils/urlUtils";
 import {useApiLegacyRequestService} from "~/composables/data/useApiLegacyRequestService";
 import {useAdminUrl} from "~/composables/utils/useAdminUrl";
 
+definePageMeta({
+  name: 'freemium_dashboard_page',
+})
+
 //Ref Définition
 const runtimeConfig = useRuntimeConfig()
 const { fetch, fetchCollection } = useEntityFetch()

+ 11 - 10
pages/freemium/organization.vue

@@ -1,5 +1,6 @@
 <template>
-      <UiFormEdition :model="Organization"
+      <UiFormEdition
+:model="Organization"
                      class="inner-container"
       >
         <template #default="{ entity : organization }">
@@ -56,21 +57,21 @@
                     v-model="organization.addressCountry"
                     field="addressCountry"
                     :model="Country"
-                    listValue="id"
-                    listLabel="name"
+                    list-value="id"
+                    list-label="name"
                   />
 
                   <client-only>
                     <UiMapLeaflet
                       v-model:latitude="organization.latitude"
                       v-model:longitude="organization.longitude"
-                      :streetAddress="organization.streetAddress"
-                      :streetAddressSecond="organization.streetAddressSecond"
-                      :streetAddressThird="organization.streetAddressThird"
-                      :postalCode="organization.postalCode"
-                      :addressCity="organization.addressCity"
-                      :addressCountryId="organization.addressCountry"
-                      :searchButton="true"
+                      :street-address="organization.streetAddress"
+                      :street-address-second="organization.streetAddressSecond"
+                      :street-address-third="organization.streetAddressThird"
+                      :postal-code="organization.postalCode"
+                      :address-city="organization.addressCity"
+                      :address-country-id="organization.addressCountry"
+                      :search-button="true"
                     ></UiMapLeaflet>
                   </client-only>
 

+ 1 - 1
pages/my-settings.vue

@@ -8,7 +8,7 @@ Page 'Mes préférences'
         <UiExpansionPanel title="message_settings" icon="fas fa-inbox">
           <v-container fluid class="container">
             <v-row>
-              <UiFormEdition :model="Preferences" :id="accessProfileStore.preferencesId">
+              <UiFormEdition :id="accessProfileStore.preferencesId" :model="Preferences">
                 <template #default="{ entity : preferences }">
                   <div v-if="preferences">
                     <v-row>

+ 1 - 1
pages/parameters/attendances.vue

@@ -2,7 +2,7 @@
   <div>
     <LayoutCommonSection>
       <h4>{{ $t('configuration') }}</h4>
-      <UiFormEdition :model="Parameters" :id="organizationProfile.parametersId">
+      <UiFormEdition :id="organizationProfile.parametersId" :model="Parameters">
         <template #default="{ entity : parameters }">
           <div v-if="parameters">
             <v-row>

+ 1 - 1
pages/parameters/bulletin.vue

@@ -1,7 +1,7 @@
 <template>
   <LayoutContainer>
     <LayoutCommonSection>
-      <UiFormEdition :model="Parameters" :id="organizationProfile.parametersId">
+      <UiFormEdition :id="organizationProfile.parametersId" :model="Parameters">
         <template #default="{ entity : parameters }">
           <div v-if="parameters">
             <v-row>

+ 1 - 1
pages/parameters/education_notation.vue

@@ -1,7 +1,7 @@
 <template>
   <LayoutContainer>
     <LayoutCommonSection>
-      <UiFormEdition :model="Parameters" :id="organizationProfile.parametersId">
+      <UiFormEdition :id="organizationProfile.parametersId" :model="Parameters">
         <template #default="{ entity : parameters }">
           <div v-if="parameters">
             <v-row>

+ 1 - 1
pages/parameters/general_parameters.vue

@@ -1,7 +1,7 @@
 <template>
   <LayoutContainer>
     <LayoutCommonSection>
-      <UiFormEdition :model="Parameters" :id="organizationProfile.parametersId">
+      <UiFormEdition :id="organizationProfile.parametersId" :model="Parameters">
         <template #default="{ entity : parameters }">
           <div v-if="parameters">
             <v-row>

+ 1 - 1
pages/parameters/intranet.vue

@@ -1,7 +1,7 @@
 <template>
   <LayoutContainer>
     <LayoutCommonSection>
-      <UiFormEdition :model="Parameters" :id="organizationProfile.parametersId">
+      <UiFormEdition :id="organizationProfile.parametersId" :model="Parameters">
         <template #default="{ entity : parameters }">
           <div v-if="parameters">
             <v-row>

+ 1 - 1
pages/parameters/sms.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <LayoutCommonSection>
-      <UiFormEdition :model="Parameters" :id="organizationProfile.parametersId">
+      <UiFormEdition :id="organizationProfile.parametersId" :model="Parameters">
         <template #default="{ entity : parameters }">
           <div v-if="parameters">
             <v-row>

+ 1 - 1
pages/parameters/super_admin.vue

@@ -10,7 +10,7 @@
         </div>
       </div>
 
-      <UiFormEdition :model="AdminAccess" :id="accessProfile.id" class="w-100">
+      <UiFormEdition :id="accessProfile.id" :model="AdminAccess" class="w-100">
         <template #default="{ entity : adminAccess }">
           <div v-if="adminAccess">
             <v-table class="mb-4">

+ 2 - 2
pages/parameters/teaching.vue

@@ -3,7 +3,7 @@
     <LayoutCommonSection>
       <h4>{{ $t('configuration') }}</h4>
 
-      <UiFormEdition :model="Parameters" :id="organizationProfile.parametersId">
+      <UiFormEdition :id="organizationProfile.parametersId" :model="Parameters">
         <template #default="{ entity : parameters }">
           <div v-if="parameters">
             <v-row>
@@ -111,7 +111,7 @@ const goToCycleEditPage = (item: object) => {
 // Nettoyer les données lors du démontage du composant
 onBeforeUnmount(() => {
   // Nettoyer les références du store si nécessaire
-  if (process.client) {
+  if (import.meta.client) {
     clearNuxtData('/^' + Cycle.entity + '_many_/')
     useRepo(Cycle).flush()
   }