Skip to content
Snippets Groups Projects
Commit fbe32f9c authored by Matheo Gallego's avatar Matheo Gallego
Browse files

TP4 done

parent b12812aa
No related branches found
No related tags found
No related merge requests found
import Router from '../Router.js';
import Page from './Page.js';
export default class AddPizzaPage extends Page {
......@@ -8,6 +9,20 @@ export default class AddPizzaPage extends Page {
Nom :
<input type="text" name="name">
</label>
<label>
Image :<br/>
<input type="text" name="image" placeholder="https://source.unsplash.com/xxxxxxx/600x600">
<small>Vous pouvez trouver des images de pizza sur <a href="https://unsplash.com/">https://unsplash.com/</a> puis utiliser l'URL <code>https://source.unsplash.com/xxxxxxx/600x600</code> où <code>xxxxxxx</code> est l'id de la photo choisie (celui dans la barre d'adresse)</small>
</label>
<label>
Prix petit format :
<input type="number" name="price_small" step="0.05">
</label>
<label>
Prix grand format :
<input type="number" name="price_large" step="0.05">
</label>
<button type="submit">Ajouter</button>
</form>`;
}
......@@ -24,12 +39,31 @@ export default class AddPizzaPage extends Page {
submit() {
// D.4. La validation de la saisie
const nameInput = this.element.querySelector('input[name="name"]'),
name = nameInput.value;
name = nameInput.value,
imageInput = this.element.querySelector('input[name="image"]'),
image = imageInput.value,
priceSmallInput = this.element.querySelector('input[name="price_small"]'),
priceSmall = parseFloat(priceSmallInput.value),
priceLargeInput = this.element.querySelector('input[name="price_large"]'),
priceLarge = parseFloat(priceLargeInput.value),
pizza = {
name: name,
image: image,
price_small: priceSmall,
price_large: priceLarge,
};
if (name === '') {
alert('Erreur : le champ "Nom" est obligatoire');
return;
}
alert(`La pizza ${name} a été ajoutée !`);
nameInput.value = '';
fetch('http://localhost:8080/api/v1/pizzas', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(pizza),
}).then(response => Router.navigate('/'));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment