Skip to content
Snippets Groups Projects
Commit 10d3a84b authored by Maxime Wallart's avatar Maxime Wallart :speech_balloon:
Browse files

D3.4

parent 74df0e05
No related branches found
No related tags found
No related merge requests found
......@@ -8,18 +8,17 @@ export default class Router {
if (route) {
this.titleElement.innerHTML = `<h1>${route.title}</h1>`;
this.contentElement.innerHTML = route.page.render();
route.page.mount?.(this.contentElement);
}
}
static #menuElement;
static set menuElement(element) {
this.#menuElement = element;
function redirect(event) {
event.currentTarget.navigate(menuElement.getAttribute('href'));
console.log(event.currentTarget.getAttribute('href'))
}
var liens = menuElement.getAttribute('a');
for(var i=0;i<liens.length; i++) {
liens[i].addEventListener('click',redirect);
this.navigate(event.currentTarget.getAttribute('href'));
console.log(event.currentTarget.getAttribute('href'));
}
this.#menuElement.addEventListener('click',redirect);
}
}
......@@ -19,9 +19,9 @@ function fermer(event) {
const close = document.querySelector('.closeButton');
close.addEventListener('click', fermer);
pizzaList = new PizzaList([]),
aboutPage = new Component('section', null, 'Ce site est génial'),
pizzaForm = new Component('section', null, 'Ici vous pourrez ajouter une pizza');
const pizzaList = new PizzaList([]),
aboutPage = new Component('p', null, 'ce site est génial'),
pizzaForm = new PizzaForm();
Router.routes = [
{ path: '/', page: pizzaList, title: 'La carte' },
......
import Component from '../components/Component';
export default class Page extends Component {
element;
constructor(className, children) {
super('section', { name: 'class', value: className }, children);
}
mount(element) {
this.element = element;
}
}
import Page from './Page.js';
export default class AddPizzaPage extends Page {
render() {
return /*html*/ `
<form class="pizzaForm">
<label>
Nom :
<input type="text" name="name">
</label>
<button type="submit">Ajouter</button>
</form>`;
}
mount(element) {
super.mount(element);
document.querySelector('button').addEventListener('click',submit());
}
submit(event) {
console.log(document.querySelector('input').getAttribute('name'));
}
}
import Component from '../components/Component.js';
import PizzaThumbnail from '../components/PizzaThumbnail.js';
import Page from './Page';
export default class PizzaList extends Component {
export default class PizzaList extends Page {
#pizzas;
constructor(pizzas) {
super('section', { name: 'class', value: 'pizzaList' });
super('pizzaList');
this.pizzas = pizzas;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment