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 { ...@@ -8,18 +8,17 @@ export default class Router {
if (route) { if (route) {
this.titleElement.innerHTML = `<h1>${route.title}</h1>`; this.titleElement.innerHTML = `<h1>${route.title}</h1>`;
this.contentElement.innerHTML = route.page.render(); this.contentElement.innerHTML = route.page.render();
route.page.mount?.(this.contentElement);
} }
} }
static #menuElement; static #menuElement;
static set menuElement(element) { static set menuElement(element) {
this.#menuElement = element; this.#menuElement = element;
function redirect(event) { function redirect(event) {
event.currentTarget.navigate(menuElement.getAttribute('href')); this.navigate(event.currentTarget.getAttribute('href'));
console.log(event.currentTarget.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.#menuElement.addEventListener('click',redirect);
} }
} }
...@@ -19,9 +19,9 @@ function fermer(event) { ...@@ -19,9 +19,9 @@ function fermer(event) {
const close = document.querySelector('.closeButton'); const close = document.querySelector('.closeButton');
close.addEventListener('click', fermer); close.addEventListener('click', fermer);
pizzaList = new PizzaList([]), const pizzaList = new PizzaList([]),
aboutPage = new Component('section', null, 'Ce site est génial'), aboutPage = new Component('p', null, 'ce site est génial'),
pizzaForm = new Component('section', null, 'Ici vous pourrez ajouter une pizza'); pizzaForm = new PizzaForm();
Router.routes = [ Router.routes = [
{ path: '/', page: pizzaList, title: 'La carte' }, { 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 PizzaThumbnail from '../components/PizzaThumbnail.js';
import Page from './Page';
export default class PizzaList extends Component { export default class PizzaList extends Page {
#pizzas; #pizzas;
constructor(pizzas) { constructor(pizzas) {
super('section', { name: 'class', value: 'pizzaList' }); super('pizzaList');
this.pizzas = pizzas; this.pizzas = pizzas;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment