|
|
@ -10,7 +10,26 @@ export default{
|
|
|
|
//envoyer le form en JSON
|
|
|
|
//envoyer le form en JSON
|
|
|
|
fetch("localhost"+"/"+this.endpoint, {method:"POST", body:JSON.stringify(Object.fromEntries(donnees)), headers: {"Content-Type": "application/json"}})
|
|
|
|
fetch("localhost"+"/"+this.endpoint, {method:"POST", body:JSON.stringify(Object.fromEntries(donnees)), headers: {"Content-Type": "application/json"}})
|
|
|
|
//sans le JSON.stringify et Object.fromEntries ca fait une requete en Content-Disposition
|
|
|
|
//sans le JSON.stringify et Object.fromEntries ca fait une requete en Content-Disposition
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
typeDeChamp: function(champ){ //TODO mettre cette fonction dans un fichier commun
|
|
|
|
|
|
|
|
switch(typeof champ){
|
|
|
|
|
|
|
|
case 'number':
|
|
|
|
|
|
|
|
case 'bigint':
|
|
|
|
|
|
|
|
return "number"
|
|
|
|
|
|
|
|
case 'string':
|
|
|
|
|
|
|
|
return this.estUneDate(champ) ? "date" : "text"
|
|
|
|
|
|
|
|
case 'boolean':
|
|
|
|
|
|
|
|
return "checkbox"
|
|
|
|
|
|
|
|
case 'symbol':
|
|
|
|
|
|
|
|
case 'undefined':
|
|
|
|
|
|
|
|
case 'object':
|
|
|
|
|
|
|
|
case 'function':
|
|
|
|
|
|
|
|
return "hidden" //TODO : implementer le reste
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
estUneDate: function(date) { //TODO mettre cette fonction dans un fichier commun
|
|
|
|
|
|
|
|
return new Date(date) != "Invalid Date";
|
|
|
|
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
@ -19,8 +38,8 @@ export default{
|
|
|
|
<form id="formajouter" @submit.prevent>
|
|
|
|
<form id="formajouter" @submit.prevent>
|
|
|
|
<div>
|
|
|
|
<div>
|
|
|
|
<fieldset v-for="nomColonne in Object.keys(champs??{})">
|
|
|
|
<fieldset v-for="nomColonne in Object.keys(champs??{})">
|
|
|
|
<label :for="nomColonne+'_temp_add_form'">{{nomColonne}}</label>
|
|
|
|
<label v-show="typeDeChamp(champs[nomColonne])!='hidden'" :for="nomColonne+'_temp_add_form'">{{nomColonne}}</label>
|
|
|
|
<input class="form-control" :id="nomColonne+'_temp_add_form'" :aria-label="nomColonne" :name="nomColonne"/>
|
|
|
|
<input class="form-control" :type="typeDeChamp(champs[nomColonne])" :id="nomColonne+'_temp_add_form'" :aria-label="nomColonne" :name="nomColonne"/>
|
|
|
|
</fieldset>
|
|
|
|
</fieldset>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|