169 lines
5.2 KiB
JavaScript
169 lines
5.2 KiB
JavaScript
|
|
document.addEventListener("DOMContentLoaded", function(){
|
||
|
|
|
||
|
|
|
||
|
|
let compl_form = document.getElementById("recette-form-complete");
|
||
|
|
console.log(compl_form);
|
||
|
|
|
||
|
|
function formulaire_ingredient_update(event) {
|
||
|
|
|
||
|
|
event.preventDefault();
|
||
|
|
|
||
|
|
console.log(event);
|
||
|
|
|
||
|
|
let form = document.getElementById("recette-form-ingr-add");
|
||
|
|
|
||
|
|
let cible = document.getElementById("recette-form-ingr");
|
||
|
|
let nomIngredient = document.getElementById("recette-form-ingr-nom");
|
||
|
|
let image = document.getElementById("recette-form-ingr-photo");
|
||
|
|
if( nomIngredient.value === "" || image.value === "" ){
|
||
|
|
alert( "Un champ requis est manquant." );
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
let ingr = form.nom;
|
||
|
|
|
||
|
|
let form_data = new FormData(form);
|
||
|
|
|
||
|
|
fetch("/api/ingredients/create", {
|
||
|
|
method : "POST",
|
||
|
|
body: form_data
|
||
|
|
}).then( reponse => {
|
||
|
|
if (!reponse.ok) {
|
||
|
|
let div_err = document.getElementById("recette-form-div-err-ingr");
|
||
|
|
|
||
|
|
div_err.style.display = "inherit";
|
||
|
|
div_err.innerText = "Erreur de connection au serveur";
|
||
|
|
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
reponse.json().then( data => {
|
||
|
|
if (data.success) {
|
||
|
|
let new_elem = document.createElement("option");
|
||
|
|
|
||
|
|
new_elem.setAttribute("value",document.getElementById('recette-form-ingr-nom').value);
|
||
|
|
new_elem.innerText = document.getElementById('recette-form-ingr-nom').value;
|
||
|
|
|
||
|
|
cible.appendChild(new_elem);
|
||
|
|
|
||
|
|
document.getElementById('recette-form-ingr-nom').value = "";
|
||
|
|
}
|
||
|
|
})
|
||
|
|
}
|
||
|
|
})
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
function formulaire_tag_update(event){
|
||
|
|
|
||
|
|
event.preventDefault();
|
||
|
|
|
||
|
|
let form = document.getElementById("recette-form-tag-add");
|
||
|
|
|
||
|
|
let cible = document.getElementById("recette-form-tag");
|
||
|
|
let nomTag = document.getElementById("recette-form-tag-nom");
|
||
|
|
if( nomTag.value === "" ){
|
||
|
|
alert( "Un champ requis est manquant." );
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
let tag = form.tag;
|
||
|
|
|
||
|
|
let form_data = new FormData(form);
|
||
|
|
|
||
|
|
fetch("/api/tags/create", {
|
||
|
|
method : "POST",
|
||
|
|
body: form_data
|
||
|
|
}).then( reponse => {
|
||
|
|
if (!reponse.ok) {
|
||
|
|
let div_err = document.getElementById("recette-form-div-err-tag");
|
||
|
|
|
||
|
|
div_err.style.display = "inherit";
|
||
|
|
div_err.innerText = "Erreur de connection au serveur";
|
||
|
|
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
reponse.json().then( data => {
|
||
|
|
if (data.success) {
|
||
|
|
let new_elem = document.createElement("option");
|
||
|
|
|
||
|
|
new_elem.setAttribute("value",nomTag.value);
|
||
|
|
new_elem.innerText = nomTag.value;
|
||
|
|
|
||
|
|
cible.appendChild(new_elem);
|
||
|
|
|
||
|
|
nomTag.value = "";
|
||
|
|
}
|
||
|
|
})
|
||
|
|
}
|
||
|
|
})
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
function formulaire_traitement(event){
|
||
|
|
|
||
|
|
event.preventDefault();
|
||
|
|
|
||
|
|
console.log( event );
|
||
|
|
|
||
|
|
let nom = document.getElementById('recette-form-nom');
|
||
|
|
let temps = document.getElementsByName('recette-form-nom');
|
||
|
|
let photo = document.getElementById('recette-form-photo');
|
||
|
|
let ingredients = document.getElementById('recette-form-ingr');
|
||
|
|
let tags = document.getElementById('recette-form-tag');
|
||
|
|
let description = document.getElementById('recette-form-description');
|
||
|
|
|
||
|
|
if( nom.value === "" || temps.value == "" || ingredients.value === "" || tags.value === ""){
|
||
|
|
console.log( "Another field" );
|
||
|
|
alert( "Un champ requis est manquant." );
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
if( !IS_EDIT && photo.value === ""){
|
||
|
|
console.log( "Photo field" );
|
||
|
|
alert( "Un champ requis est manquant." );
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
if( temps <= 0 ){
|
||
|
|
alert( "Le temps doit être positif ou supérieur à 0." );
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
let form_data = new FormData(compl_form);
|
||
|
|
form_data.append( "ingredients", form_data.getAll("ingr").join(",") );
|
||
|
|
form_data.append( "tags", form_data.getAll( "tag").join(",") );
|
||
|
|
if( RECETTE_ID !== 0 )
|
||
|
|
form_data.append( 'id', RECETTE_ID );
|
||
|
|
|
||
|
|
let endpoint = IS_EDIT ? "/api/recettes/edit" : "/api/recettes/create";
|
||
|
|
|
||
|
|
fetch( endpoint, {
|
||
|
|
method : "POST",
|
||
|
|
body: form_data
|
||
|
|
}).then( reponse => {
|
||
|
|
if (!reponse.ok) {
|
||
|
|
alert( "Erreur survenie" );
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
reponse.json().then( data => {
|
||
|
|
if (data.success) {
|
||
|
|
alert( "Envoyé" );
|
||
|
|
} else {
|
||
|
|
alert( data.error || "" );
|
||
|
|
}
|
||
|
|
})
|
||
|
|
}
|
||
|
|
})
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
let ingr_form = document.getElementById("recette-form-ingr-add");
|
||
|
|
|
||
|
|
ingr_form.addEventListener('submit', formulaire_ingredient_update);
|
||
|
|
|
||
|
|
let tag_form = document.getElementById("recette-form-tag-add");
|
||
|
|
|
||
|
|
tag_form.addEventListener('submit', formulaire_tag_update);
|
||
|
|
compl_form.addEventListener('submit', formulaire_traitement);
|
||
|
|
|
||
|
|
|
||
|
|
})
|