Skip to content
Snippets Groups Projects
Commit 499985e4 authored by Antoine Delfosse's avatar Antoine Delfosse
Browse files

partie C

parent 1a561ec7
Branches master
No related tags found
No related merge requests found
No preview for this file type
import Router from '../Router.js';
import Page from './Page.js'; import Page from './Page.js';
export default class AddPizzaPage extends Page { export default class AddPizzaPage extends Page {
...@@ -8,6 +9,20 @@ export default class AddPizzaPage extends Page { ...@@ -8,6 +9,20 @@ export default class AddPizzaPage extends Page {
Nom : Nom :
<input type="text" name="name"> <input type="text" name="name">
</label> </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> <button type="submit">Ajouter</button>
</form>`; </form>`;
} }
...@@ -25,11 +40,38 @@ export default class AddPizzaPage extends Page { ...@@ -25,11 +40,38 @@ export default class AddPizzaPage extends Page {
// D.4. La validation de la saisie // D.4. La validation de la saisie
const nameInput = this.element.querySelector('input[name="name"]'), const nameInput = this.element.querySelector('input[name="name"]'),
name = nameInput.value; name = nameInput.value;
if (name === '') { if (name === '') {
alert('Erreur : le champ "Nom" est obligatoire'); alert('Erreur : le champ "Nom" est obligatoire');
return; return;
} }
alert(`La pizza ${name} a été ajoutée !`); alert(`La pizza ${name} a été ajoutée !`);
nameInput.value = ''; nameInput.value = '';
const imageInput = this.element.querySelector('input[name="image"]'),
image = imageInput.value;
const priceSmallInput = this.element.querySelector(
'input[name="price_small"]'
),
price_small = priceSmallInput.value;
const priceLargeInput = this.element.querySelector(
'input[name="price_large"]'
),
price_large = priceLargeInput.value;
const pizza = {
name,
image,
price_small,
price_large,
};
fetch('http://localhost:8080/api/v1/pizzas', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(pizza),
}).then(response => {
Router.navigate('/'), true;
});
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment