Sfoglia il codice sorgente

fix eslint errors (ongoing)

Olivier Massot 4 mesi fa
parent
commit
1dfa72a358

+ 70 - 17
components/Form/Freemium/Event.vue

@@ -12,7 +12,7 @@
 
           <span class="label">{{$t('datetimeStart')}}</span>
           <UiInputDateTimePicker
-            v-model="entity.datetimeStart"
+            :model-value="entity.datetimeStart"
             field="datetimeStart"
             label="datetimeStart"
             :with-time-picker="true"
@@ -24,7 +24,7 @@
 
           <span class="label">{{$t('datetimeEnd')}}</span>
           <UiInputDateTimePicker
-            v-model="entity.datetimeEnd"
+            :model-value="entity.datetimeEnd"
             field="datetimeEnd"
             label="datetimeEnd"
             :with-time-picker="true"
@@ -61,7 +61,7 @@
 
         <UiInputAutocompleteApiResources
           v-if="!newPlace"
-          v-model="entity.place"
+          :model-value="entity.place"
           field="place"
           :model="PlaceSearchItem"
           list-value="id"
@@ -96,22 +96,43 @@
               {{ $t('add_place') }}
             </v-btn>
           </v-col>
-
         </v-row>
 
+        <UiInputText
+          v-model="entity.placeName"
+          :readonly="!newPlace && !editPlace"
+          field="placeName"
+        />
 
+        <UiInputText
+          v-model="entity.streetAddress"
+          :readonly="!newPlace && !editPlace"
+          field="streetAddress"
+        />
 
-        <UiInputText v-model="entity.placeName" :readonly="!newPlace && !editPlace" field="placeName" />
-
-        <UiInputText v-model="entity.streetAddress" :readonly="!newPlace && !editPlace" field="streetAddress" />
-
-        <UiInputText v-model="entity.streetAddressSecond" :readonly="!newPlace && !editPlace" field="streetAddressSecond" />
+        <UiInputText
+          v-model="entity.streetAddressSecond"
+          :readonly="!newPlace && !editPlace"
+          field="streetAddressSecond"
+        />
 
-        <UiInputText v-model="entity.streetAddressThird" :readonly="!newPlace && !editPlace" field="streetAddressThird" />
+        <UiInputText
+          v-model="entity.streetAddressThird"
+          :readonly="!newPlace && !editPlace"
+          field="streetAddressThird"
+        />
 
-        <UiInputText v-model="entity.postalCode" :readonly="!newPlace && !editPlace" field="postalCode" />
+        <UiInputText
+          v-model="entity.postalCode"
+          :readonly="!newPlace && !editPlace"
+          field="postalCode"
+        />
 
-        <UiInputText v-model="entity.addressCity" :readonly="!newPlace && !editPlace" field="addressCity" />
+        <UiInputText
+          v-model="entity.addressCity"
+          :readonly="!newPlace && !editPlace"
+          field="addressCity"
+        />
 
         <UiInputAutocompleteApiResources
           v-model="entity.addressCountry"
@@ -147,7 +168,10 @@
 
           <h4 class="mb-8">{{ $t('communication_params') }}</h4>
 
-          <UiInputText v-model="entity.url" field="url" />
+          <UiInputText
+            v-model="entity.url"
+            field="url"
+          />
 
           <UiInputAutocompleteEnum
             v-model="entity.pricing"
@@ -155,11 +179,23 @@
             field="pricing"
           />
 
-          <UiInputText v-if="entity.pricing==='PAID'" v-model="entity.urlTicket" field="urlTicket" />
+          <UiInputText
+            v-if="entity.pricing==='PAID'"
+            v-model="entity.urlTicket"
+            field="urlTicket"
+          />
 
-          <UiInputNumber v-if="entity.pricing==='PAID'" v-model="entity.priceMini" field="priceMini" />
+          <UiInputNumber
+            v-if="entity.pricing==='PAID'"
+            v-model="entity.priceMini"
+            field="priceMini"
+          />
 
-          <UiInputNumber v-if="entity.pricing==='PAID'" v-model="entity.priceMaxi" field="priceMaxi" />
+          <UiInputNumber
+            v-if="entity.pricing==='PAID'"
+            v-model="entity.priceMaxi"
+            field="priceMaxi"
+          />
 
         </v-col>
       </v-row>
@@ -196,12 +232,23 @@ import PlaceSearchItem from "~/models/Custom/Search/PlaceSearchItem";
 import {useEntityManager} from "~/composables/data/useEntityManager";
 
 const props = defineProps<{
-  entity: Event
+  modelValue: Event
 }>()
 
 const {em} = useEntityManager()
 const getAsserts = (key) => getAssertUtils(Event.getAsserts(), key)
 
+const emit = defineEmits([
+  'update:modelValue',
+])
+
+// Pour éviter l'erreur eslint "Unexpected mutation of "modelValue" prop"
+const entity = computed({
+  get: () => props.modelValue,
+  set: (value) => emit('update:modelValue', value)
+})
+
+
 /**
  * Si la date de début est mise à jour, on s'assure que la date de fin est
  * après elle, sinon elle devient égale
@@ -212,6 +259,8 @@ const onUpdateDateTimeStart = (entity, dateTime) =>{
   if(DateUtils.isBefore(props.entity.datetimeEnd, dateTime, false)){
     entity.datetimeEnd = dateTime
   }
+  entity.datetimeStart = dateTime
+  emit('update:modelValue', entity)
 }
 
 /**
@@ -224,6 +273,8 @@ const onUpdateDateTimeEnd = (entity, dateTime) =>{
   if(DateUtils.isBefore(dateTime, props.entity.datetimeStart, false)){
     entity.datetimeStart = dateTime
   }
+  entity.datetimeEnd = dateTime
+  emit('update:modelValue', entity)
 }
 
 const showAlert: Ref<boolean> = ref(false)
@@ -285,6 +336,8 @@ const getPlace = async (entity: Event)=>{
     //Dans le cas où l'on ne récupère aucune place on remet a null le formulaire de l'adresse
     resetPlace(entity)
   }
+
+  emit('update:modelValue', entity)
 }
 
 /**

+ 12 - 2
components/Form/Parameter/AttendanceBookingReason.vue

@@ -3,7 +3,7 @@
     <v-row>
       <v-col cols="12" sm="6">
         <UiInputText
-          v-model="entity.reason"
+          v-model="localEntity.reason"
           field="reason"
           type="string"
           :rules="getAsserts('reason')"
@@ -17,10 +17,20 @@
 import AttendanceBookingReason from "~/models/Booking/AttendanceBookingReason";
 import {getAssertUtils} from "~/services/asserts/getAssertUtils";
 
-defineProps<{
+const props = defineProps<{
   entity: AttendanceBookingReason
 }>()
 
+const emit = defineEmits([
+  'update:entity',
+])
+
+// Pour éviter l'erreur eslint "Unexpected mutation of "modelValue" prop"
+const localEntity = computed({
+  get: () => props.entity,
+  set: (value) => emit('update:entity', value)
+})
+
 const getAsserts = (key) => getAssertUtils(AttendanceBookingReason.getAsserts(), key)
 
 </script>

+ 12 - 2
components/Form/Parameter/EducationTiming.vue

@@ -3,7 +3,7 @@
     <v-row>
       <v-col cols="12" sm="6">
         <UiInputNumber
-          v-model="entity.timing"
+          v-model="localEntity.timing"
           field="educationTiming"
           :rules="getAsserts('timing')"
         />
@@ -16,10 +16,20 @@
 import {getAssertUtils} from "~/services/asserts/getAssertUtils";
 import EducationTiming from "~/models/Education/EducationTiming";
 
-defineProps<{
+const props = defineProps<{
   entity: EducationTiming
 }>()
 
+const emit = defineEmits([
+  'update:entity',
+])
+
+// Pour éviter l'erreur eslint "Unexpected mutation of "modelValue" prop"
+const localEntity = computed({
+  get: () => props.entity,
+  set: (value) => emit('update:entity', value)
+})
+
 const getAsserts = (key) => getAssertUtils(EducationTiming.getAsserts(), key)
 
 </script>

+ 12 - 2
components/Form/Parameter/ResidenceArea.vue

@@ -3,7 +3,7 @@
     <v-row>
       <v-col cols="12" sm="6">
         <UiInputText
-          v-model="entity.label"
+          v-model="localEntity.label"
           field="label"
           type="string"
           :rules="getAsserts('label')"
@@ -17,10 +17,20 @@
 import ResidenceArea from "~/models/Billing/ResidenceArea";
 import {getAssertUtils} from "~/services/asserts/getAssertUtils";
 
-defineProps<{
+const props = defineProps<{
   entity: ResidenceArea
 }>()
 
+const emit = defineEmits([
+  'update:entity',
+])
+
+// Pour éviter l'erreur eslint "Unexpected mutation of "modelValue" prop"
+const localEntity = computed({
+  get: () => props.entity,
+  set: (value) => emit('update:entity', value)
+})
+
 const getAsserts = (key) => getAssertUtils(ResidenceArea.getAsserts(), key)
 
 </script>

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

@@ -19,7 +19,7 @@ A data table for the parameters page
         </tr>
       </thead>
       <tbody v-if="items && items.length > 0">
-        <tr v-for="(item, i) in items" :key="item.id">
+        <tr v-for="item in items" :key="item.id">
           <td
             v-for="(col, index) in columnsDefinitions"
             :key="index"

+ 1 - 1
components/Ui/Form.vue

@@ -340,7 +340,7 @@ onBeforeUnmount(() => {
   window.removeEventListener('beforeunload', quitWithoutSaving)
 })
 
-function quitWithoutSaving(event: any){
+function quitWithoutSaving(event){
   if (formStore.dirty === true) {
     event.returnValue = i18n.t('quit_without_saving_warning')
   }

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

@@ -71,8 +71,9 @@ const props = defineProps({
    * Filtres à transmettre à la source de données
    */
   query: {
-    type: Object as PropType<typeof Query>,
+    type: Object as PropType<typeof Query | null>,
     required: false,
+    default: null
   },
   /**
    * Nom de la propriété d'une entité lorsque l'input concerne cette propriété
@@ -235,7 +236,7 @@ const pending = computed(() => statusSearch.value == FETCHING_STATUS.PENDING ||
  * Génère un ListItem à partir des props
  * @param searchItem
  */
-const item = (searchItem: any): ListItem => {
+const item = (searchItem): ListItem => {
   return {
     id: searchItem[props.listValue],
     title: searchItem[props.listLabel]

+ 5 - 2
components/Ui/Input/DatePicker.vue

@@ -29,8 +29,11 @@ Sélecteur de dates, à placer dans un composant `UiForm`
 
         <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 }}
+            <span
+              v-for="(msg, i) in errorMessages.value"
+              :key="i"
+            >
+                {{ msg }}
             </span>
           </div>
         </div>

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

@@ -21,7 +21,7 @@ Champs de saisie d'un numéro de téléphone
 
 type ValidationRule = (value: string | number | null) => boolean | string
 
-const props = defineProps({
+defineProps({
   modelValue: {
     type: String,
     required: true,
@@ -79,7 +79,7 @@ const onUpdate = (event: string|null) => {
   if(event === ''){
     event = null
   }
-  emit('update:model-value', event)
+  emit('update:modelValue', event)
 }
 
 </script>