Skip to content
Snippets Groups Projects
Commit a5298d97 authored by Clotaire Dufresne's avatar Clotaire Dufresne
Browse files

d avancé

parent edbd0af3
No related branches found
No related tags found
No related merge requests found
......@@ -9,6 +9,7 @@ export default class Router {
if (route) {
this.titleElement.innerHTML = `<h1>${route.title}</h1>`;
this.contentElement.innerHTML = route.page.render();
route.page.mount?.(this.contentElement);
}
}
......
......@@ -2,17 +2,14 @@ import Router from './Router';
import data from './data';
import PizzaList from './pages/PizzaList';
import Component from './components/Component';
import PizzaForm from './pages/PizzaForm';
Router.titleElement = document.querySelector('.pageTitle');
Router.contentElement = document.querySelector('.pageContent');
const pizzaList = new PizzaList([]),
aboutPage = new Component('section', null, 'Ce site est génial'),
pizzaForm = new Component(
'section',
null,
'Ici vous pourrez ajouter une pizza'
);
aboutPage = new Component('p', null, 'ce site est génial'),
pizzaForm = new PizzaForm();
Router.routes = [
{ path: '/', page: pizzaList, title: 'La carte' },
{ path: '/a-propos', page: aboutPage, title: 'À propos' },
......
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;
}
}
\ No newline at end of file
import Page from './Page.js';
export default class PizzaForm 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);
}
submit(event) {}
}
\ No newline at end of file
import Component from '../components/Component.js';
import PizzaThumbnail from '../components/PizzaThumbnail.js';
import Page from './Page.js';
export default class PizzaList extends Component {
export default class PizzaList extends Page {
#pizzas;
constructor(pizzas) {
super('section', { name: 'class', value: 'pizzaList' });
super('pizzaList');// on pase juste la classe CSS souhaitée
this.pizzas = pizzas;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment